| Autor | Zpráva | ||
|---|---|---|---|
| mikul Profil |
#1 · Zasláno: 13. 10. 2008, 20:01:19
Zdravím. Server kde mám databázi MySQL přešel na vyšší verzi a objevil se problém.
Prostě vzali tu databázi a zkopírovali na server s tou novější verzí ale ztratili se české znaky s háčky. Nevím čím to je, ale když si prohlížím příspěvky na staré databázi tak už tám mám místo těch znaků kosočtveres s otazníkem. Stránky to ale zpracují a zobrazí správný znak - např. v návštěvní knize atd... Když dám export té databáze tak to tam taky místo těch znaků vyhodí obdelníčky. Potřebuju to nějak z té dtb dostat a uložit ve správné podobě do nové dtb. Jak na to? díky. |
||
| Kajman_ Profil * |
#2 · Zasláno: 13. 10. 2008, 20:46:42
Nejjednoduší by bylo asi vyexportovat ze staré verze a import se správně nastaveným kódováním. Takto to možná půjde tak, že každý sloupeček převedete na binary či blob a pak zpátky na varchar či text v původním kódování.
Pro hromadný převod všech sloupečků zkuste najít inspiraci na http://php.vrana.cz/prevod-kodovani-mysql.php |
||
| mikul Profil |
#3 · Zasláno: 13. 10. 2008, 22:08:53
Obešel jsem to tak. že jsem si nechal celý obsah tabulky vypsat do stránky na tom starém serveru kde mi to ty háčky ukáže. Teďka to jen celé vložím do nových tabulek na novém serveru a snad to bude.
Naštěstí mám jen 14 tabulek tak to není taková hrůza. Ale díky |
||
| mikul Profil |
#4 · Zasláno: 15. 10. 2008, 17:22:42
Pokud můžu navázat na diskuzi.....
Vypsat data ze staré dtb a vložit do nové aby tam byly správně vidět ř ž atp. znaky to mám. Horší je, že jsem zjistil, že stránky někde rozlousknou to nové , co jsem tam přepsal, někde to staré, kde když si otevřu phpmyadmina tak ř ž .. není vidět správně ale stránky si to asi nějak přeberou a někde to neveme ani jedno. Jedná se přitom a tu samou tabulky a ten samý řádek který na některé stránce webu jde a jinde ne. Nejsem tvůrce toho webu, pouze jsem převzal správu ale prohledal jsem vše a jediné nastavení jazyka pro práci s dtb jsem našel funkci: $version = mysql_get_server_info();
if ( $version > 4 ) {
$this->execute("SET character_set_connection=cp1250");
$this->execute("SET character_set_client=cp1250");
$this->execute("SET character_set_results=cp1250");
$this->execute("SET character_set_server=cp1250");jinak stránky jsou validní podle XHTML 1.0 Transitional a kódované v charset=windows-1250 Po přesunu dtb bylo vše čemu se nastavuje kódování v dtb nastaveno na utf-8-czech_ci. Chci se jen zeptat které kódování mám na které změnit aby se to nebilo a aby to bylo co nejjednodišší. Díky |
||
| nightfish Profil |
#5 · Zasláno: 15. 10. 2008, 17:55:35
„kde když si otevřu phpmyadmina tak ř ž .. není vidět správně“
to je ten problém, protože to znamená, že jsou data v databázi uložená v jiném kódování, než si databáze myslí... řešením by mohl být export, konverze do správného kódování a import |
||
| mikul Profil |
#6 · Zasláno: 15. 10. 2008, 18:15:51
Ono je ale divné, že ty otazníky si některá stránky toho webu přeloží správně a nepřeluští znaky které jsou v dtb vidět normálně, některá stránka stejného webu přeluští, jak by člověk čekal, řádky které jsem opravil a ty otazníky ne a některá nerozluští ani jedno, pořád jde o stejný web, stejnou dtb jen jinou stránku toho webu když se stejná tabulka vypisuje na více míst.
Tak chci vědět, jaké kódování kde nastavit, když by podle mě mělo být pro celý web nastavené z ext souboru úpně to samé. Aspoň jsem nic jiného nenašel. |
||
|
Časová prodleva: 17 let
|
|||
0