Autor | Zpráva | ||
---|---|---|---|
Kvilda Profil |
#1 · Zasláno: 6. 3. 2006, 07:05:36
Myslíte že by šlo udělat něco jako, že by v jednom <table> byla znaková řada ISO-8859-2 a v druhém <table> Windows-1252.
Text na stránce mám totiž ve znakové řadě Win1252 a když načtu text z DB tak ten je ve znakové ředě ISO88592.... Dík |
||
Hugo Profil |
#2 · Zasláno: 6. 3. 2006, 07:24:24
Kvilda
Tak ho načítej z db v kódování, které potřebuješ. Stači poslat příkaz set character_set_results = 'latin1'; |
||
Kvilda Profil |
#3 · Zasláno: 6. 3. 2006, 07:27:10
co myslíš tím: Stači poslat příkaz _?
|
||
Hugo Profil |
#4 · Zasláno: 6. 3. 2006, 07:30:24
Kvilda
Přesně to co píšu. Musíš db oznámit v jakém kódování chceš dostat výsledky. V php to uděláš takto MySQL_Query('set character_set_results = latin1'); |
||
Kvilda Profil |
#5 · Zasláno: 6. 3. 2006, 07:36:05
čéče pořád mi to z db čte v poho, ale ostatní text mi místo š píše ? v kosočtverci atd...
nemáš ještě jednu radu? Dík |
||
Hugo Profil |
#6 · Zasláno: 6. 3. 2006, 07:40:25
Kvilda
A v jakém kódování máš ostatní text? Musí to být všechno ve stejném kódování, jinak ti to bude blbnout. Hoď sem link, pokud můžeš. |
||
Kvilda Profil |
#7 · Zasláno: 6. 3. 2006, 07:56:25
Na začátku skriptu mám:
Header("Content-Type: text/html; charset=ISO-8859-2"); mysql_query("SET NAMES latin2"); |
||
Hugo Profil |
#8 · Zasláno: 6. 3. 2006, 08:07:51
No, ale win1252 je pokud se nepletu latin1. Takže pokud máš web napsaný v latin 1, tak musíš změnit HTTP hlavičku
Header("Content-Type: text/html; charset=windows-1252"); a ošetřit i kódováni při připojení k db. Taky je dobré mít správně nastavené kódování v meta. |
||
Kvilda Profil |
#9 · Zasláno: 6. 3. 2006, 08:18:34
ale to...... jakmile napíšu win1252 a query-latin2 tak se mi špatně načtou data z DB - to ošetřím jak prosím
|
||
mila Profil |
#10 · Zasláno: 6. 3. 2006, 11:13:57
1. Musíš mít stránku uloženou ve stejném kódování jako máš uvedené v hlavičce. V notepadu například při ukládání vubrat kódování windows1250 a do hlavičky "<meta http-equiv="content-type" content="text/html; charset=windows-1250">"
2. Musíš mít data v databázi ve správném kódování. Zde často funguje, že dvě chyby se vyruší. Pokud je tam špatně vkládáš a špatně vybíráš, tak můžeš dostávat co očekáváš, ale v db to bude špatně. Podívej se na to v phpMyAdminu. Jestli to je tam rozsypané, tak je někde chyba. (Neplatí pro mysql do jisté verze, kde se nenastavovalo kódování) 3. Musíš správně komunikovat s db. Funguje na začátku zavolat mysql_query("SET NAMES cp1250"); 4. Ideálně by měli i sloupce v db ukládat text ve stejném kódování. Bude to rychlejší a předejdeš problémům. Ale mělo by to fungovat i bez toho. Právě SET NAMES zařídí, že mySQL si data přebere z jednoho k´dování do druhého. |
||
Kvilda Profil |
#11 · Zasláno: 6. 3. 2006, 12:46:31
No to je přesně vono............ díky moc všem
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0