

PHP: změna kódování z databáze
Dobrý den.
Mám dotaz.Dělám web a mám problém s kódováním.Na databázi ale mám napojené 2 weby ... Rozdíl je v tom , že jeden potřebuje takové kódování a druhý zase jiné. Tak potřebuji aby jeden web si to uměl překonvertovat do správného kódování.Vím o funkci mb_convert_encoding() ale jestli funguje i na výpis z databáze a nebo jestli to nějak jde tak jak , to už nevím.... Pokud by někdo o nečem věděl napiště prosím...
Díky předem.
Musíš se připojit do DB tím kódováním, které daný web potřebuje. DB/řádky_v_DB můžou mít klidně jiné kódování než celý web.
No ono je to tak... Jedná se o MMOG hru nevím zda li znáte " Metin 2 ".Kódování tabulek hry je big5. Dělám CMS se spousty funkcemi ale zasekl jsem se právě na tomto... když jsem dělal administraci a chtěl jsem nechat vypsat itemy ( věci ve hře ) tak místo háčků a čárek mi to vypsalo samozdřejmě tento nesmysl � .Ale já aby nemusely být 2 databáze kde v 1 bude hra a v druhé bude web to se mi zdálo divné... tak jsem akorát přidal nové tabulky. Tabulky s webem má v kódování UTF-8 a hra je jak jsem již zmínil BIG5 . Když se připojím přes Navicat (MySql klient ) tak vidím normálně háčky čárky ale když si to nechám vypsat tak je tam ten nesmysl.Ale jak to teď mám udělat když potřebuji na i UTF-8 a i BIG5 kódování ? Napadlo mě pokud to nejde třeba připsat k funkci kdy se to nechává vypisovat tak zastavit připojení do db udělat nové s kódováním big5 a potom zase ukončit a obnovit znovu předchozí... Ale to by tak bylo zastavené a zapnuté minimálně 10x a to se mi nelíbí.Neměli by jste nějakou radu k mému případu?
Hry neznám.
Pokud jsem to dobře pochopil, tak kódovaní na webu blbne z dvou (uvedený počet je pouze pro příklad) různě kódovaných tabulek.
A co takhle se tam připojit 2krát současně, a každé připojení bude ve stejné kódování v jakém je daná tabulka v DB?
Tabulka1 - (UTF-8_czech_ci) - tabulka s přihlašovacími údaji administrátorů.
Tabulka2 - (UTF-8_czech_ci) - Různé nastavení pro chod administrace
Tabulka1 + Tabulka2 = Hlavní tabulky pro chod administrace
Tabulka3 - (BIG5_chinese_ci) - tabulka pro hru ( důležité dodržet původní kódování jinak je hra KO)
a teď na webu mám:
atd a nechám si je vypsat do tabulky...
ale vypíše mi to místo diakritiky ty nesmysli co jsem psal výše ale potřeboval bych aby mi to vypsalo bez nesmyslů.... Jak to opravdu netuším.Jediné co potřebuji aby mi to nevypsalo ty � ale diakritiku tak jak tam má být. Jak to mám udělat to nevím...
V jakém kódování je:
1/DB =>?
2/Tabulka1 => UTF-8_czech_ci
3/Tabulka2 => UTF-8_czech_ci
4/Tabulka3 => BIG5_chinese_ci
5/Připojení na DB =>?
6/Zdroják =>?
7/Stránka na webu (charset)=>?
1/UTF-8_czech_ci
2/Tabulka1 => UTF-8_czech_ci
3/Tabulka2 => UTF-8_czech_ci
4/Tabulka3 => BIG5_chinese_ci
5/Připojení na DB => nemám zvolené
6/Zdroják => UTF-8
7/Stránka na webu (charset)=>UTF-8
Chyba
Takze tam nekde jak mas to pripojeni, dopis to tucne:
Tak co ted, funguje?
Ne stále stejný problém...
Ukázka z nastavení Databází
![[ukazka_z_databaze.png]](http://mt2.proototype.eu/ukazka_z_databaze.png)
![[http://mt2.proototype.eu/ukazka_z_administrace.png ]](http://mt2.proototype.eu/ukazka_z_administrace.png)
Ukázka z administrace webu co vypisuje....
Vypisovací script (original)
Config
Pěkný obrázek, můžeš poskytnout nějaké "testovací data" z DB (Pokud to tedy není tajné)? Stačilo by mi i export tak do 10 řádku z Tabulka3.
Když teď koukám na ten sql soubor . název který si já nechávám vypsat tak je zapsaný jako " 0xB5B52B302020202020202020202020202020202020202020 " Nemohlo by to být tím? že mu vadí že je to v "varbinary"...
Tak jsem asi na to přišel
, ale nedokážu pochopit, jak jsi přišel nato, že tam máš nějaké šikmooké kódování? Jestli ti to řekl nějaký program, tak bych ho odinstaloval a už v životě nikdy nepoužíval 
Ne to jsou pouze data zase v jiném typu, v tomto případě ve VARBINARY.
![[78screenshot_tn.15_tn.jpg]](http://q3.cz/images/82screenshot_tn.15_tn.jpg)

Klikni na obrázek a pochopíš:
Je to totiž v kódování windows-1250, a pokud to chceš mermomocí v UTF-8 tak třeba použitím iconv.
No nemusím to mít v UTF-8 ale já jsem zvyklý to tak dělat a tak to dělám všude.Řekl mi to Navicat Prémium a ten používám , protože mám databázi na VPS a neznám jiný klient s kterým by to šlo. No každopádně děkuji opravdu mi to moc pomohlo.