1. mySQL oldalon (phpMyAdmin-al állítgassuk a következőket):
- Az SQL táblák szöveges mezőit (varchar és text) állítsuk "latin2_hungarian_ci" kódolásúra (egybevetés)
- Az adatbázis "Egybevetés" értékét is "latin2_hungarian_ci"-re
- phpMyAdmin-ban a "MySQL kapcsolat egyeztetés" szerver szintű beállítást is "latin2_hungarian_ci"-re (utána szerver restart)
2. PHP script oldalon
- Minden file legyen iso-8859-2 kódolású, lehetőleg a sorvégeket Win-esre (de ez nem fontos)
- SQL query előtt (de kapcsolódás után) adjuk ki ezt:
$result = mysql_query("SET NAMES latin2");
Fontos: a "SET CHARACTER latin2" string NEM kell utána, mert elcseszi a hosszú 'ő' és 'ű' karaktereket!
- FORM entry-be (HTML) írjuk be az "accept-charset" entity-t is például így:
<FORM name="urlap" id="urlap" method="post" action="masik.php" accept-charset="iso-8859-2">
- Az alábbi header, stb beállításokat include-oljuk.
header("Content-Type: text/html; charset=iso-8859-2"); setlocale(LC_CTYPE, 'hu_HU'); mb_internal_encoding('iso-8859-2'); mb_http_output('iso-8859-2');
Hasznos linkek:
- http://weblabor.hu/cikkek/karakterkodolasiproblemakkikuszobolese
- http://weblabor.hu/forumok/temak/13776
Update (22:45)
Nos, megy UTF8-al is...
Tanulság (amit már sokszor - de úgy tűnik nem elégszer - megtanultam): ha valami nem megy, egyszerre csak 1 dolgot javíts/módosíts rajta.
Tehát
- "SET NAMES UTF8" kell, ahol az "UTF8" egyben, kötőjel nélkül írandó
- "SET CHARACTER ..." string tényleg NEM kell utána
Köszönöm a hozzászólásokat.
- kaktusztea blogja
- A hozzászóláshoz be kell jelentkezni
- 3469 megtekintés
Hozzászólások
Nem lenne a jovore nezve egyszerubb az utf-8-at hasznalni?
---
/* No comment */
Ketchup elementál megidézése a sajt síkra
- A hozzászóláshoz be kell jelentkezni
Azzal kezdtem és erős volt az elhatározásom, hogy utf8, de rengeteg szívás után feladtam :-/
A fentiek utf8-al nem mennek (ő és ű karakterek helyén '?')
- A hozzászóláshoz be kell jelentkezni
de, megy mint a karikacsapas. tobb szaz G ilyen adatom van.
- A hozzászóláshoz be kell jelentkezni
És láttál valami eltérést a fenti config és a tied között?
Valószínűleg én hagytam ki valamit, de hát nem tudom, mit... :)
- A hozzászóláshoz be kell jelentkezni
minden utf8_general_ci -n van :)
- A hozzászóláshoz be kell jelentkezni
+1, csak nincs több száz G ilyen adatom...
kötöjelkötöjel
irreverzibilis perverzkonzerv
- A hozzászóláshoz be kell jelentkezni
De megy egy set names utf-8 után.
- A hozzászóláshoz be kell jelentkezni
Én nem túl rég gányoltam(!) php+mysql dolgokat, és nem volt semmi extra velük, minden megy, mint a karikacsapás. Kódolás: utf8_general_ci, php scriptek szintén utf8, a php kódban nem használtam semmi trükközést. Se a php.ini-ben, se a mysql.conf-ban, se httpd.conf-ban nem módosítottam olyan beállítást, ami hatással lenne a karakterkódolásra. Egyszerűen megy out of the box.
httpd: 2.2.8
php: 5.2.6
mysql: 5.0.51a
- A hozzászóláshoz be kell jelentkezni
+1 (bár azért én a biztonság kedvéért küldök egy SET NAMES utf8-at)
Andi, really. Take it from me. If I tell you something, I'm usually right.
- A hozzászóláshoz be kell jelentkezni
Jó, de én csak gányoltam, nem programoztam. :)
- A hozzászóláshoz be kell jelentkezni
signup
- A hozzászóláshoz be kell jelentkezni
Weblabor /o\. Jo oldal, de ilyenekben ne hallgass ra. Gentoo alatt mar van utf8_hungarian_ci collation is.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Mi a különbség a "utf8_general_ci" és az "utf8_hungarian_ci" között?
Az UTF8, az UTF8, nem...?
- A hozzászóláshoz be kell jelentkezni
Szerencsére nem sok. Szortírozáskor nem mindegy hova kerülnek az ékezetes karakterrel kezdődő szavak.
- A hozzászóláshoz be kell jelentkezni
Na, megy nekem is az UTF8 :)
Írtam update-et.
- A hozzászóláshoz be kell jelentkezni