Portál AbcLinuxu, 7. května 2025 04:15

Dotaz: mysql - zmena kodovani utf8 na iso

stulda avatar 28.10.2005 17:33 stulda | skóre: 18 | Sokolov
mysql - zmena kodovani utf8 na iso
Přečteno: 1837×
Odpovědět | Admin
Nainstaloval jsem si mysql v Gentoo a je tam defaultne nastavene kodovani utf8 a potreboval bych to zmenit na iso-8859-2, protoze toto kodovani je na mem hostingu. Je zajimave, ze tam mam jenom utf8, pritom v USE flagach mam -utf8, to znamena ze by se mysql mela zkompilovat bez podpory utf8. Poradil by mi nekdo jak tam dostat kodovani iso?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

vdusek avatar 28.10.2005 17:43 vdusek | skóre: 27
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
Odpovědět | | Sbalit | Link | Blokovat | Admin
MySQL v 4 bezi nativne v UTF-8. Prisel jsem zatim na 2 reseni:

1/ do souboru /etc/my.cnf dopsat init-connect="SET NAMES latin2". Tim zacne server pro vsechna pripojeni (pokud neni definovano jinak) predpokladat kodovani iso-8859-2 a legalne transformuje data do vnitrniho kodovani UTF-8

2/ po kazdem prikazu v PHP mysql_connect, zadat prikaz mysql_query("SET NAMES 'latin2'")
28.10.2005 18:10 billgates | skóre: 27
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
Pouzivaju sa az tri parametre, ktore sa staraju o kodovanie pouzivane pri spojeni. Su to: SET NAMES, SET CHARACTER SET, SET COLLATION_CONNECTION. Vsetky tri treba nastavit na pozadovane hodnoty, aby sa to spravalo tak, ako potrebujete.
28.10.2005 18:31 Miroslav Žídek | skóre: 20 | Prachatice
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
Nebo jeste a polopaticky - do (php) skriptu tesne po mysql_connect (pripojeni k databazi) napsat:
mysql_query("SET character_set_client=latin2");
mysql_query("SET character_set_connection=latin2");
mysql_query("SET character_set_results=latin2");
a pak samozrejme manual k lokalizaci MySQL
stulda avatar 28.10.2005 20:16 stulda | skóre: 18 | Sokolov
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
Odpovědět | | Sbalit | Link | Blokovat | Admin
Diky za odpovedi, mozna bude asi jednodussi prejit na utf8 :-) Ale mel bych jeste jednu otazecku. Bude vadit, kdyz databaze bude utf8, ale data do ni budu ukladat v iso a zase v iso vytahovat, bez toho ze bych menil ten charset? Dojde k nejake deformaci znaku nebo tak neco? Ja se totiz domnivam, ze je jedno v jakem kodovani je databaze, dulezite je, aby data se do databaze ukladala ve stejnem kodovani, ve kterem se taky ctou. Ale asi se pletu nebo ne?
Jan Zahornadsky avatar 29.10.2005 00:28 Jan Zahornadsky | skóre: 22 | blog: hans_blog
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
Jedno to sice je, ale takové konstrukce, kde po databázi požaduješ například seřazení dle abecedy nebudou fungovat...
Actually, I was half an hour into the pointer scripting documentation when she got dressed and left.
stulda avatar 29.10.2005 09:44 stulda | skóre: 18 | Sokolov
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
Aha, no to me nenapadlo. Muzou nastat jeste nejaky situace, kde to nebude spravne fungovat?
28.11.2005 11:13 calimero2
Rozbalit Rozbalit vše Re: mysql - zmena kodovani utf8 na iso
mysql 4.1 a viac by malo zvladat konverziu z lubovolnej sady databaze na lubovolnu sadu pripojenia aj so spravnym triedenim(collation) samozrejme s tym ze pokial sa konvertuju nekonverovatelne znaky tak dochadza ku strate ale utf-8 -> latin2 by malo ist ok pokial ide o ceske/slovenske znaky... http://dev.mysql.com/doc/refman/4.1/en/charset.html
Wasting time is an important part of living.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.