UTF-8 è un'amante volubile. Per una tipica applicazione Web, è necessario impostare UTF-8 a molti livelli. Anche se il codice phpMyAdmin funziona bene con UTF8, non funziona nel vuoto: la configurazione del server è importante. Così è il database, così come l'origine dati per il database. Riassumiamo le aree di potenziale attrito in un'applicazione generale, con particolare attenzione alle aree di interesse per phpMyAdmin.
A. Fonte dei dati
Quando i dati vengono importati nel database, ad esempio da un file di testo, devono avere la codifica corretta. I segni diacritici potrebbero essere visualizzati in Excel, ma la codifica potrebbe essere qualsiasi cosa. Quindi puoi avere un file CSV che sembra giusto ma che non importa correttamente. Puoi controllare e convertire la codifica del tuo file CSV in un editor di testo come EditPad o un IDE come Komodo. In Notepad ++, che molte persone hanno, puoi selezionare "Codifica" per vedere la tua codifica corrente, e puoi selezionare Codifica / Converti in UTF8 in necessario.
B. Nel tuo database. Il set di caratteri e le regole di confronto della tabella devono essere impostati su UTF-8. Sembra che tu lo abbia già fatto.
Se no, hai bisogno di qualcosa come:
ALTER TABLE MyTable
DEFAULT CHARACTER SET utf8,
COLLATE utf8_general_ci;
Questa è l'impostazione generica, ma la tua collazione rumena dovrebbe funzionare bene.
C. La connessione al database. Hai bisogno di qualcosa come:
$connectDSN = "mysql:host={$db_host};dbname={$db_name};charset=UTF-8";
PhpMyAdmin dovrebbe connettersi correttamente. Nella pagina di destinazione, dovresti vedere
Server charset: UTF-8 Unicode (utf8)
In caso contrario, continua a leggere.
D. php deve elaborare UTF8. In php.ini, vorrete qualcosa come:
default_charset = UTF-8
mbstring.language = Neutral
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.detect_order = auto
mbstring.substitute_character = “0xFFFD”
Puoi controllare le impostazioni del tuo server con phpinfo (). Su un host condiviso, di solito non hai accesso a php.ini e devi modificare le impostazioni direttamente nello script.
A proposito, ricorda di usare le funzioni mb.
E. Configurazione dell'intestazione
Perché il browser sappia cosa sta ottenendo, deve ricevere un'intestazione come la seguente inviata da php:
<?php header('Content-type: text/html; charset=UTF-8'); ?>
Questo non dovrebbe essere un problema con phpMyAdmin.
In Firefox, utilizzando l'estensione per sviluppatori Web, è possibile accedere a Informazioni / Visualizza informazioni sulla pagina. Nella scheda Generale, questo ti mostrerà la codifica.
F. Meta tag HTML
Questo è consigliato per aiutare il browser.
<meta charset="UTF-8">
Questo non dovrebbe essere un problema con phpMyAdmin.
Di nuovo controlla nel browser che cosa sta vedendo la codifica.
G. Font
Il browser potrebbe non avere il carattere per visualizzare alcuni caratteri, sebbene le versioni moderne siano piuttosto buone sui caratteri di fallback. Questo probabilmente non è un problema nel tuo caso.
Quindi ci sono molti posti in cui le cose possono andare storte.
Spero che questo ti aiuti a identificare il problema!
Quando tutto si allinea, allora magia ... Ottieni UTF8 ovunque.
E non dimenticare:
ಬಾ ಇಲ್ಲಿ ಸಂಭವಿಸು ಇಂದೆನ್ನ ಹೃದಯದಲಿ
ನಿತ್ಯವೂ ಅವತರಿಪ ಸತ್ಯಾವತಾರ