|
Azi m-a rugat un coleg sa verific o problema si sunt putin nedumerit. Aceeasi platforma (un mini CMS creat de el) instalata pe doua servere diferite. Pe un server totul e in regula, pe celalalt server in schimb unele caractere cu diacritice nu sunt afisate corect. De exemplu, in loc de "î" apare "?", si asa se salveaza in baza de date. Serverele ruleaza pe FreeBSD, 6.2 cel pe care functioneaza corect si 7.1 cel pe care caracterele cu diacritice sunt afisate gresit. O alta diferenta ar fi MySQL 5.1.x pe serverul pe care afisarea e corecta si 5.0.x pe cel pe care se afiseaza gresit. In afara de asta nu gasesc nicio diferenta majora. Ambele ruleaza pe Apache 2.2 si PHP 5.2.x. Pe ambele servere am setat collation pe baza de date, tabele si campuri varchar sa fie la fel. Vreo idee referitoare la ce ar trebui sa verific ca sa mearga bine peste tot? |
|
Baza de date de pe 5.0 folosește cumva vreo formă de UTF8 pe la char encoding? M-am lovit de o problemă asemănătoare în sensul că se făcea double-encoding la export / import. Încearcă la export să folosești ASCII, chiar dacă encoding-ul este unul multibyte, și să imporți normal pe noul server. Dacă țin mine minte, era opțiunea --default-character-set din mysqldump. PS: făceam export cu mysqldump și import cu mysql. La dimensiunile cu care lucrez de obicei, o chestie gen phpMyAdmin tușește rău de tot. Merci de sugestie. Am citit cand ai scris raspunsul, dar nu am apucat sa verific. Dupa ce verific te anunt daca nu ii dau de cap. Merci de sugestie! Dacă bine țin minte, am pornit de aici. Intr-un final am mutat siteul pe alt server ca nu era timp de debugging. Interesant e ca pana la urma s-ar putea sa nu aiba legatura cu MySQL. In ultimele teste am vazut ca CMS-ul converteste diacriticele (ex. ă -> ă), dar face probleme la "î" si "ț". Astea le adauga in baza de date ca "?" in loc de î respectiv ţ. |
