Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile ottenere la codifica corretta in MySQL

Qualunque cosa accada ai tuoi personaggi, accade prima che raggiungano MySQL, immagino. I caratteri vengono convertiti in numeri dal computer quando inseriamo i caratteri. Quindi questi numeri viaggiano da qui a lì, tra moduli Web e server, server Web e interpreti di scripting, quindi server di database e ritorno alle pagine Web seguendo la stessa strada.

Dove e come inserisci i tuoi dati? I dati dovrebbero uscire dal modo in cui sono stati inseriti. Se i tuoi dati vengono forniti tramite moduli web, controlla le codifiche della tua pagina web e come invii i moduli. Come li ottieni nei tuoi script PHP e come li invii al server del database. La parte colpevole qui probabilmente non è MySQL ma un altro posto. Può essere anche MySQL; ma non è l'unico luogo di possibili comportamenti scorretti e probabilmente non lo è.

Controlla le tue pagine, controlla le intestazioni quando arrivano al tuo browser.

Riguardo ai commenti ricevuti dalla tua domanda, no, non è bene usare ISO5 perché hai bisogno di più famiglie ISO5. Devi utilizzare una codifica Unicode, per la maggior parte del tempo, la migliore è utf-8. Inoltre, non si tratta di quale libreria MySQL usi a meno che quella libreria non abbia alcuni bug noti, il che è molto improbabile per qualcosa di così vecchio. :) Dovresti comunque usare qualsiasi cosa consigliata come best practice; ma il tuo problema attuale non è correlato alla libreria che usi. Il male sta nella differenza tra come inserisci i tuoi dati e come li visualizzi.