作者ontario (蟄)
看板Database
標題[問題]PHP連MySQL時顯示character set
時間Thu Mar 29 11:44:58 2012
各位古道熱腸的人們:
小弟我又遇到一個「以現有自身知識」無法解決的問題
起源:想解決MySQL存取繁體中文沒有亂碼的問題
1) 我的MySQL:
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem | binary
character_set_results | utf8
character_set_server | utf8
character_set_system | utf8
2) 利用支援Unicode的phpMyAdmin增加包含中文的資料到資料表後
a. phpMyAdmin端可以看到資料表中的中文
b. MySQL Cmd Client端是亂碼(OK~ b. 這邊我暫時不理會,因為 a. 看得到)
3) 瀏覽器端,利用PHP抓此資料表,看不到中文資料(是空的,沒有亂碼)
4) 所以,小弟我在 PHP 中加了下面的指令,想看看從瀏覽器端連到MySQL的編碼是甚麼
========== 指令如下 ========
// Database connection
$dbc = mysqli_connect( DB_HOST, DB_USER, DB_PASSWORD, DB_NAME ) OR
die("fail to connect");
mysqli_query("SET NAMES 'utf8'");
// Character set check
$charset = mysqli_character_set_name($dbc);
printf ("Current character set is %s\n",$charset);
============================
可是我得到的結果卻是 : Current character set is latin1
請問,
1. 我瀏覽器看不到MySQL中的中文資料是不是跟這邊的latin1有關 ?
2. 我的MySQL顯示的 character set 都是 utf8,為什麼這邊會出現 latin1 ?
3. 我該怎麼設定或更改,才能讓瀏覽器看到中文的資料呢?
請高手賜教 ...
感激不盡!
快瘋掉的我
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.60.175
→ ontario:[已解] ... 晚一點我整理一下再給大家參考 03/29 17:01
→ buganini:你的mysqli用法看起來有點怪… 看起來比較像mysql的用法 04/07 00:18