samedi 14 juin 2014

Íåïîíÿòíûå ïðîáëåìû ñ êîäèðîâêîé (MySQL plugin R39)

Óæå è íåóäîáíî ñïðàøèâàòü ïðî ýòó êîäèðîâêó, íî íèêàê íå ìîãó ðåøèòü ïðîáëåìó, âñå-òàêè ïèøó ñþäà. ß ïîëüçîâàëñÿ ïîèñêîì è íè÷åãî ìíå íå ïîìîãëî (òî÷íåå, ïîìîãàåò ëèøü íà ïåðâîå âðåìÿ, îá ýòîì äàëåå).  îáùåì, ïðîáëåìà â òîì, ÷òî ïîñëå çàïóñêà ñåðâåðà âñå ðàáîòàåò õîðîøî - êèðèëëèöà âûãðóæàåòñÿ è ñîõðàíÿåòñÿ áåç ïðîáëåì. Íî ñïóñòÿ íåêîòîðîå âðåìÿ ðàáîòû ñåðâåðà (íèêàêîé çàêîíîìåðíîñòè íå ñìîã âûâåñòè) âìåñòî íåå óæå îòîáðàæàþòñÿ êðàêîçÿáðû, ëèáî âîïðîñèòåëüíûå çíàêè (â çàâèñèìîñòè îò mysql_set_charset).



Êîäèðîâêà òàáëèö - utf8_general_ci.



Ïðîáîâàë ñäåëàòü ïî ðàçíîìó:



  1. pawn Code:




    mysql_set_charset("utf8");

    mysql_tquery(connection, "SET NAMES cp1251", "", "");

    mysql_tquery(connection, "SET SESSION character_set_server='utf8'", "", "");



    Êàêîå-òî âðåìÿ âñå ÎÊ, íî íè ñ òîãî, íè ñ ñåãî:





    Êèðèëëèöà ïåðåñòàåò ïðàâèëüíî çàãðóæàòüñÿ è íå ñîõðàíÿåòñÿ.



  2. Ðåøèë ïîñìîòðåòü èñõîäíèê ïëàãèíà. Ïðèøåë ê âûâîäó, ÷òî mysql_set_charset ýòî mysql_set_character_set. Ïî÷èòàë îïèñàíèå, ñäåëàë òàê:


    pawn Code:




    mysql_set_charset("cp1251");



    Âñå ðàáîòàëî õîðîøî. Äî ïîðû, äî âðåìåíè. Ãäå-òî ÷åðåç ïîë ÷àñà ðàáîòû ñåðâåðà çàøåë, ÷òîáû ïðîâåðèòü. Âìåñòî êèðèëëèöû óæå âûãðóæàëèñü âîïðîñèòåëüíûå çíàêè.




Åñëè åùå ðàç ñäåëàòü çàïðîñ SET NAMES cp1251 , òî âñå îïÿòü ñòàíîâèòñÿ íîðìàëüíî. Òàê âîò, ãäå æå ÿ íàãðåøèë? Ñïàñèáî çà âíèìàíèå.




Aucun commentaire:

Enregistrer un commentaire