2(!) karakter hibázik UTF-8 magyarból!
Sziasztok!
Nagy gondban vagyok, UTF-8 táblákba teszek PHP-ből (UTF-8-as XML-ből) és UTF-8-as KDE Konsole-ból UTF-8 adatokat, de 2 db magyar karakter hibásan működik. (Más nyelveken is 1-2 karakter rossz, pl Oroszból.)
Magyar nagy Á betű, és a záró felső magyar idézőjel. (nem az ASCII ")
Ha az Á betűt manuális INSERT-tel szúrom be, akkor is rossz. Helyükön a weben egy "?," jelenik meg, a konzolban egy inverz karikában kérdőjel: (?). PhpMyAdminban szintén "?," látszik manuális vagy a programom insertje után.
INSERT INTO Strings (...) VALUES (...'Árém'...)
é jó (MINDEN más mint az Á jó), Á pedig "(?)".
PHP-ból is (a stringet az INSERT előtt kiprintelve a Konsole-ra még jó!), meg a konzolból is ugyanez.
PhpMyAdmin-ban illetve a PHP programom EDITÁLÁSI lehetőségeiben beszúrt karakterek már jók. (Mit sem ér, ha 10.000 stringet akarok előbb az XML-ekből átvinni. :-) )
Egyik táblám:
MYISAM típussal ugyanez.
Ötlet? :-( 4 hónapja élek együtt a buggal, mostanra elkészült a programom, de nem nőtte ki, így használhatatlanná fejlesztettem.
SET NAMES UTF8
után minden csak sokkal rosszabb lett.
Köszönettel,
Lion/Kempelen
■ Nagy gondban vagyok, UTF-8 táblákba teszek PHP-ből (UTF-8-as XML-ből) és UTF-8-as KDE Konsole-ból UTF-8 adatokat, de 2 db magyar karakter hibásan működik. (Más nyelveken is 1-2 karakter rossz, pl Oroszból.)
Magyar nagy Á betű, és a záró felső magyar idézőjel. (nem az ASCII ")
Ha az Á betűt manuális INSERT-tel szúrom be, akkor is rossz. Helyükön a weben egy "?," jelenik meg, a konzolban egy inverz karikában kérdőjel: (?). PhpMyAdminban szintén "?," látszik manuális vagy a programom insertje után.
INSERT INTO Strings (...) VALUES (...'Árém'...)
é jó (MINDEN más mint az Á jó), Á pedig "(?)".
PHP-ból is (a stringet az INSERT előtt kiprintelve a Konsole-ra még jó!), meg a konzolból is ugyanez.
PhpMyAdmin-ban illetve a PHP programom EDITÁLÁSI lehetőségeiben beszúrt karakterek már jók. (Mit sem ér, ha 10.000 stringet akarok előbb az XML-ekből átvinni. :-) )
Egyik táblám:
CREATE TABLE Strings (
ID int NOT NULL PRIMARY KEY auto_increment,
ProjectID int NOT NULL,
Original text NOT NULL,
SentenceID int NOT NULL DEFAULT 0,
LocaleID int NOT NULL,
Translation text NOT NULL DEFAULT '',
LastSeen datetime NULL DEFAULT NULL,
FOREIGN KEY (ProjectID) REFERENCES Projects (ID),
FOREIGN KEY (SentenceID) REFERENCES SentenceIndex (SentenceID),
FOREIGN KEY (LocaleID) REFERENCES Locales (ID)
) CHARACTER SET utf8 COLLATE utf8_bin
TYPE=INNODB;
ID int NOT NULL PRIMARY KEY auto_increment,
ProjectID int NOT NULL,
Original text NOT NULL,
SentenceID int NOT NULL DEFAULT 0,
LocaleID int NOT NULL,
Translation text NOT NULL DEFAULT '',
LastSeen datetime NULL DEFAULT NULL,
FOREIGN KEY (ProjectID) REFERENCES Projects (ID),
FOREIGN KEY (SentenceID) REFERENCES SentenceIndex (SentenceID),
FOREIGN KEY (LocaleID) REFERENCES Locales (ID)
) CHARACTER SET utf8 COLLATE utf8_bin
TYPE=INNODB;
MYISAM típussal ugyanez.
Ötlet? :-( 4 hónapja élek együtt a buggal, mostanra elkészült a programom, de nem nőtte ki, így használhatatlanná fejlesztettem.
[lion@sundriva translationmemory]$ mysql --version
mysql Ver 14.7 Distrib 4.1.12, for \
mandriva-linux-gnu (x86_64) using readline 5.0
mysql Ver 14.7 Distrib 4.1.12, for \
mandriva-linux-gnu (x86_64) using readline 5.0
SET NAMES UTF8
után minden csak sokkal rosszabb lett.
Köszönettel,
Lion/Kempelen
Fejlemény
mysql Ver 14.12 Distrib 5.0.19, for Win32 (ia32)
C:\>php --version
PHP 5.1.2 (cli) (built: Jan 11 2006 16:40:00)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
A Linuxomon PHP 5.1.2-vel és a fent említett MySQL 4.1.12-vel hibázik. Megnézem fel tudok e rakni egy 5-ös MySQL-t, visszaírok ha megoldja...
Lion
nem jobb
Előre is köszi minden tippet!
Lion
megoldva
MySQL 5.0.19 jól kezeli mindkét rendszeren!
Érdekes...
Üdv
Lion
Fórum...