作者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
1F:→ ontario:[已解] ... 晚一点我整理一下再给大家参考 03/29 17:01
2F:→ buganini:你的mysqli用法看起来有点怪… 看起来比较像mysql的用法 04/07 00:18