Mysql karakterkódolás egyeztetés.
Gondolom már kicsit unalmas a téma, de Én sajnos nem jövök rá hol a hiba.
Az oldalak PHP-ban írodtak, mindegyik oldalban szerepel a <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> meta tag, az oldalak nem tartalmaznak BOM-ot.
A PHP verziója Version 5.2.5, default_charset: no value/ no value
A Mysql Verziója: Szerver verzió: 5.1.23
Karakter paraméterek:
character set client utf8
(Globális változó) latin1
character set connection utf8
(Globális változó) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Globális változó) latin1
character set server latin1
character set system utf8
collation connection utf8_general_ci
(Globális változó) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci
A webszerver ISS.
Az adat felvitelkor a Mysqlben ÃrvìztűrÅ‘tüköfúrógép szerpel az Árvíztűrő tükörfúrógép helyet. (vagyis nem éppen helyesen ábrázolódik )
Ha a kapcsolat létrehozásakor a PHP-ba beírom, hogy
$k = "SET NAMES UTF8";
mysql_query($k);
Akkor a Mysql-ben is helyesen jelenik meg.
Nemrég telepítettem egy Wordpresst, és nem tüztem be a wp-db.php-ba a fenti két sort, aminek a következménye a ÃrvìztűrÅ‘tüköfúrógép tárolási mód. A honlapon nem venni semmit belőle észre, de a Html Validatort kiakasztja.
Az lenne a kérdésem, hogy a fenti beállítás mellett még miért szűkséges a
$k = "SET NAMES UTF8";
mysql_query($k); beillesztése?
Mit kéne még konfigurálni, hogy a fenti két sort ne keljen alkalmazni.
■ Az oldalak PHP-ban írodtak, mindegyik oldalban szerepel a <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> meta tag, az oldalak nem tartalmaznak BOM-ot.
A PHP verziója Version 5.2.5, default_charset: no value/ no value
A Mysql Verziója: Szerver verzió: 5.1.23
Karakter paraméterek:
character set client utf8
(Globális változó) latin1
character set connection utf8
(Globális változó) latin1
character set database latin1
character set filesystem binary
character set results utf8
(Globális változó) latin1
character set server latin1
character set system utf8
collation connection utf8_general_ci
(Globális változó) latin1_swedish_ci
collation database latin1_swedish_ci
collation server latin1_swedish_ci
A webszerver ISS.
Az adat felvitelkor a Mysqlben ÃrvìztűrÅ‘tüköfúrógép szerpel az Árvíztűrő tükörfúrógép helyet. (vagyis nem éppen helyesen ábrázolódik )
Ha a kapcsolat létrehozásakor a PHP-ba beírom, hogy
$k = "SET NAMES UTF8";
mysql_query($k);
Akkor a Mysql-ben is helyesen jelenik meg.
Nemrég telepítettem egy Wordpresst, és nem tüztem be a wp-db.php-ba a fenti két sort, aminek a következménye a ÃrvìztűrÅ‘tüköfúrógép tárolási mód. A honlapon nem venni semmit belőle észre, de a Html Validatort kiakasztja.
Az lenne a kérdésem, hogy a fenti beállítás mellett még miért szűkséges a
$k = "SET NAMES UTF8";
mysql_query($k); beillesztése?
Mit kéne még konfigurálni, hogy a fenti két sort ne keljen alkalmazni.
Client connection?
PHP default?
Én a PHP default_charset no value-re gondolok. A böngészőnek a meta tag megmondja az utf kodolást, de hogy a PHP és a mysql közötti kapcsolatnál is egyértelmű-e az utf abban nem vagyok biztos. Persze lehet, hogy rossz nyomon járok és nem ez a hiba, bár talán ez indokolná a SET NAMES utf8-t.
Nincs ilyen opció
Én azt javasolnám neked, hogy ha nem akarsz a szerver konfigurálásával sokat szívni, hogy maradjon benne a set names. Már csak azért is, mert ha egyszer mozgatni kell valami másik szerverre a dolgot, egy paraméterrel kevesebb, amelyiknél el lehet rontani.
Nem tudom, mi a projekt célja, de fontolóra venném az IIS használatát is, mert az inkább ASP-re lett kihegyezve. Nyilván lenne, aki tudna vitatkozni velem, de szvsz PHP-t Apache-al vagy Lighty-vel érdemes futtatni, azok bevált konstrukciók.
SET NAMES
Ráadásul a SET NAMES használata tüneti kezelés, megjavul a kódolás, de igazából nem tudom, hogy mi a baj.
A teszt szerver Apache, ott nincs is semmi baj. Az ASP-t csak pár hónapig használtam, így nem vagyok otthon benne.
SET NAMES UTF8
Proclub, köszönöm az eddigi hozzászólásaidat!