Sto cercando di risolvere un problema di codifica dei caratteri - in precedenza abbiamo avuto il confronto impostato per questo utf8_general_ci colonna che ha causato problemi perché è insensibile accento ..COLLATION 'utf8_general_ci' non è valido per il personaggio SET 'latin1'
Sto cercando di trovare tutte le voci nel database che potrebbero essere state interessate.
set names utf8; select * from table1 t1 join table2 t2 on (t1.pid=t2.pid and t1.id != t2.id) collate utf8_general_ci;
Tuttavia, questo genera l'errore:
ERROR 1253 (42000): COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
- Il database è ora definita con "DEFAULT CHARACTER SET utf8"
- La tabella è definita con "charset = utf8 "
- La colonna" pid "è definita con: SET CARATTERE utf8 COLLATE utf8_bin NOT NULL
- La versione server è la versione server: 5.5.37-MariaDB-0ubuntu0.14.04.1 (Ubuntu)
Domanda: Perché mi appare un errore circa latin1 quando latin1 non sembra essere presente ovunque nella definizione tabella/schema?
MariaDB [(none)]> SHOW VARIABLES LIKE '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
MariaDB [(none)]> SHOW VARIABLES LIKE '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
Si prega di pubblicare la tabella 'SHOW CREATE TABLE1' e' SHOW CREATE TABLE table2'. Qual è il set di caratteri della connessione client? Pubblica anche 'MOSTRA VARIABILI LIKE '% char%'' –
Oh, hai 'set nomi utf8', quindi spero' character_set_client' mostrerà 'utf8' –
per favore leggi [MY POST] (http://meta.stackoverflow.com/ a/271056/2733506) su come pubblicare domande buone e utili ... ci sono suggerimenti e strumenti di formattazione collegati per aiutarti a formattare query, tabelle e molto altro! –