Čaute, dnes som sa pokúšal vytvoriť si takú základnú logovaciu pomôcku namiesto klasického server logu, ktorá by ukladala text, ktorý hráč napíše do chatu, do súboru. Keďže hráči používajú aj diakritiku, volil som takýto spôsob:
if(handle){for(new i =0; i <sizeof(text); i++) fputchar(handle, text[i],false);
fclose(handle);}
1. Skontroloval som si, či je súbor korektne vytvorený a či doň môžem zapisovať.
2. Pomocou cyklu som prešiel všetky znaky uložené v stringu "text" ktorý drží samotný text, ktorý hráč napísal do chatu po stlačení klávesy T
3. Následne namiesto klasického fwrite, ktorý dokáže pracovať iba s kódovaním UTF-8, som použil funkciu fputchar, ktorej parameter "utf8" nastavený na false dokáže do súboru vložiť aj znaky v kódovaní ASCII
4. Znak po znaku som všetky zapísal a uzatvoril súbor
Funkciu som si otestoval na localhoste a všetko fungovalo presne tak, ako malo. V súbore sa mi ukazovali texty s diakritikou pekne za sebou tak, ako som ich v hre písal. No keď som to chcel vyskúšať s kamarátmi a server som nahodil na hosting, ktorý používa linux, tak namiesto znakov s diakritikou sa mi zobrazovali také tie čierne bloky s otáznikmi, ktoré značili, že znak nebol korektne prečítaný a nevedel byť teda printnutý.
Obracal som sa aj na podporu hostingu fakahedy, no vraj sa s týmto nedá nič robiť, keďže jadro je nastavené na kódovanie UTF-8. Existuje prosím vás nejaká možnosť, ako to viem ešte ináč vyriešiť? Chcem aby to bolo čo najjednoduchšie riešené, žiadne pluginy ani podobné veci, jedná sa iba o test. Verím, že veľa z vás s týmto má viac skúseností.
Dotaz
Danny 37
Čaute, dnes som sa pokúšal vytvoriť si takú základnú logovaciu pomôcku namiesto klasického server logu, ktorá by ukladala text, ktorý hráč napíše do chatu, do súboru. Keďže hráči používajú aj diakritiku, volil som takýto spôsob:
1. Skontroloval som si, či je súbor korektne vytvorený a či doň môžem zapisovať.
2. Pomocou cyklu som prešiel všetky znaky uložené v stringu "text" ktorý drží samotný text, ktorý hráč napísal do chatu po stlačení klávesy T
3. Následne namiesto klasického fwrite, ktorý dokáže pracovať iba s kódovaním UTF-8, som použil funkciu fputchar, ktorej parameter "utf8" nastavený na false dokáže do súboru vložiť aj znaky v kódovaní ASCII
4. Znak po znaku som všetky zapísal a uzatvoril súbor
Funkciu som si otestoval na localhoste a všetko fungovalo presne tak, ako malo. V súbore sa mi ukazovali texty s diakritikou pekne za sebou tak, ako som ich v hre písal. No keď som to chcel vyskúšať s kamarátmi a server som nahodil na hosting, ktorý používa linux, tak namiesto znakov s diakritikou sa mi zobrazovali také tie čierne bloky s otáznikmi, ktoré značili, že znak nebol korektne prečítaný a nevedel byť teda printnutý.
Obracal som sa aj na podporu hostingu fakahedy, no vraj sa s týmto nedá nič robiť, keďže jadro je nastavené na kódovanie UTF-8. Existuje prosím vás nejaká možnosť, ako to viem ešte ináč vyriešiť? Chcem aby to bolo čo najjednoduchšie riešené, žiadne pluginy ani podobné veci, jedná sa iba o test. Verím, že veľa z vás s týmto má viac skúseností.
Vďaka za rady.
Link to comment
Share on other sites
5 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now