Ezért még pénzt is kapnak...

Nem szoktam blogolni, de a következő történet olyan, ami megér egy bejegyzést.

Adott egy piacvezető magyar hirdetési portál, és egy kis oldal, aminek a tartalmát szeretnénk feltölteni rá automatikusan. Kb. 1 éve sikerült ezt már elérni, a saját UTF-8 kódolású szövegeket iconv()-vel előbb ISO-8859-2-be kellett kódolni, utána lehetett feltölteni a portál távolról elérhető MySQL szerverébe, majd megindítani a szinkronizációs folyamatot. Az még az érdekes, hogy a kategóriák nem úgy vannak ám, hogy számok lennének hozzárendelve az opciókhoz és azt kellene elküldeni, dehogy. Hanem ha az opció neve az, hogy "árvíztűrő", akkor azt bizony "árvíztűrő"-ként kell rögzíteni náluk. Tényleg így kell, nem viccelek!

Nos, kb. 1 hete szóltak, hogy frissítenek a rendszerükön. Ez meg is történt, ami után nem működött tovább a feltöltés. Azt kaptam vissza folyton, hogy nem tudja a rendszer a bejegyzést egyik kategóriába sem besorolni, itt már sejtettem, hogy karakterkódolási problémák lesznek. Megtörtént a levélváltás, a kapcsolat azt mondta, hogy a MySQL szerverük átállt UTF-8 kódolásra, és a rendszergazda nem tudja visszaállítani (mivan???), próbáljak átállni én is UTF-8-ra. Nah ennek nagyon megörültem, mert így legalább nem kell az iconv()-vel szórakozni. Átrakok hát mindent UTF-8-ba, le is tesztelem saját táblában, minden ékezet szépen megjelenik. Próbálom náluk is, ott persze nem működik, ugyanazt a hibát kapom vissza.

Újabb levélváltás, azt javasolják, hogy SET NAMES "latin2" meg character_set_client, result, connection-t állítsak latin2-re, mivel egy másik cégnél így megy. Kezdtem itt már gyanakodni: mért latin2-t javasolják, ha UTF-8-ra álltak át? De sosem zárhatom ki, hogy én vagyok hülye, beállítottam ezt, így se ment persze. Sejtettem, hogy mi lesz a titok nyitja, kértem tőlük egy mentést a MySQL tábláról, amibe a bejegyzést kell létrehoznom, figyeljétek (csak a végét másolom be):

ENGINE=MyISAM DEFAULT CHARSET=latin1;

Nah ki fedezi fel a hibát? :) Igen, a latin1-ben nincs hosszú ő és ű betű ( http://en.wikipedia.org/wiki/ISO/IEC_8859-1 ) így hiába küldtem én akármilyen kódolásban a szövegeket, amiben volt ő, vagy ű, azt nem ismerhette fel. Írtam hát egy primitív fv-t, ami kicseréli az ő-t õ-re, ű-t pedig û-re (+ nagybetűk), és hát láss csodát, így működött. :D

Az még a baromira idegesítő, hogy ők ezért havonta 10 milliókat vágnak zsebre a náluk hirdető cégektől, közben meg fogalmuk sincs a karakterkészletekről. Jah meg állítólag csak a mi rendszerükkel volt baj, perszeee...

Remélem rövid távon kihalnak. Milyen az már hogy egy magyar cégnél úgy kell magyar szöveget küldeni 2010 előtt 2 héttel, hogy hullámosra és kalaposra cserélek pár betűt?! Ehh, és még rabolják is az időmet ilyen hülyeségekkel a vizsgaidőszakomban.

Hozzászólások

:D Itt a hiba: ENGINE=MyISAM ehelyett ENGINE=InnoDB kellene hogy legyen :D

Fizetnek ezért neked?
Ha igen, akkor vállrándítás és el van intézve.
Ha nem, akkor meg hadd főljenek a levükben.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

zard mar le a code taget! :)
---
Tévedni mindenkinek szabad, csak a mérnöknek észre kell vennie.