Topic: Pubblico - Composto da 10 Posts di 2 Utenti.
| 01 Ottobre, 2011 06:52 | #1 | ||
|---|---|---|---|
|
Un saluto a chi frequenta il forum, è il mio primo post qui.
Ultima modifica 01 Ottobre, 2011 06:55 di artasdog Per fare una domanda velocemente dovete andare su Questioner |
|||
| 01 Ottobre, 2011 09:46 | #2 | ||
|---|---|---|---|
|
utf8-general-ci è una collation, ovvero una serie di regole che dicono a MySQL come ordinare alfabeticamente un testo UTF8. 1SHOW VARIABLES LIKE 'character_set_%'; |
|||
| 01 Ottobre, 2011 15:25 | #3 | ||
|---|---|---|---|
|
Questo è il risultato della query nel database specifico del sito: Variable_name Value Per fare una domanda velocemente dovete andare su Questioner |
|||
| 02 Ottobre, 2011 00:03 | #4 | ||
|---|---|---|---|
|
Allora il problema non è in MySQL, sono i dati che gli invii a non essere UTF8 |
|||
| 02 Ottobre, 2011 04:43 | #5 | ||
|---|---|---|---|
|
Da qualsiasi text input o textarea del sito, impostato con charset utf-8. si presenta il problema nel salvataggio dei caratteri che non fanno parte del set iniziale da 128 caratteri. Ripeto nella pratica le accentate. Se servono altri dettagli relativi ad altre caratteristiche del documento o del database chiedi pure che li posto. Aggiungo un dettaglio che può darti altre informazioni utili. Per fare una domanda velocemente dovete andare su Questioner |
|||
| 02 Ottobre, 2011 04:44 | #6 | ||
|---|---|---|---|
|
Un altra cosa, quindi il database puoi confermare che è impostato correttamente utf8 e che il: character_set_server latin1 non è un problema? id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255) );
Ultima modifica 02 Ottobre, 2011 06:22 di artasdog Per fare una domanda velocemente dovete andare su Questioner |
|||
| 02 Ottobre, 2011 08:39 | #7 | ||
|---|---|---|---|
|
Ok ho capito meglio la situazione: Il documento è in UTF8 Prima di salvare un input lo converto con UTF8_DECODE ( cioè UTF8 -> LATIN1 ) Verificando come è impostato il character set della connessione di mysql tramite la funzione mysql_client_encoding risulta LATIN1 Quindi quando salvo nel database il mio dato che ho appena fatto diventare LATIN1 tramite UTF8_DECODE, ora viene considerato LATIN1 in partenza quindi viene trasformato da LATIN1 a UTF8 Quindi il mio input fa questi passaggi: Ora devo togliere UTF8_DECODE ed impostare la connessione in utf8 per evitare i due passaggi in più inutili.
Ultima modifica 02 Ottobre, 2011 08:40 di artasdog Per fare una domanda velocemente dovete andare su Questioner |
|||
| 02 Ottobre, 2011 09:44 | #8 | ||
|---|---|---|---|
|
Ok la soluzione finale è stata l'utilizzo della funzione: Per fare una domanda velocemente dovete andare su Questioner |
|||
| 02 Ottobre, 2011 12:57 | #9 | ||
|---|---|---|---|
|
Scusami!! Nella fretta mi è sfuggito: certo, character_set_server deve essere utf8! Però non sono sicuro che il problema sia questo. |
|||
| 03 Ottobre, 2011 11:39 | #10 | ||
|---|---|---|---|
|
si si è risolto, come scritto sopra il charset della connessione predefinito prima( rilevato con mysql_client_encoding ) era LATIN1 e con mysql_set_charset è stato cambiato. Per fare una domanda velocemente dovete andare su Questioner |
|||
Condividi su:
Loggati o Registrati per replicare