作者ontario (蛰)
看板Database
标题[问题] MySQL和PHP(浏览器端)的中文问题
时间Wed Mar 28 19:30:30 2012
好像有很多人都有类似问题,可是我的还是解不了。只好求助各位。
以下中文指繁体中文。
==========
[目标]
1.统一使用 utf8 的编码
2.可以在 MySQL Cmd Client 输入中文到 DB 中
例:insert into tb (name) values ('中文');
3.可以在 MySQL Cmd Client 看到中文
例:select * from tb;
4.可以利用 php 端,连到 MySQL 资料库,对同一个 table 写入中文资料
5.可以在浏览器端利用 php 看到同一个 table 的中文资料
==========
[我的环境]
O/S: Win 7 (64-bit)
MySQL: MySQL Server 5.5.20
Apache: 2.2.22
PHP: 5.2.17
[我的MySQL编码]
键入 status 後,得到显示
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
[我的 my.ini 设定]
[client]
port=3306
[mysql]
#default-character-set=latin1
default-character-set=utf8
# SERVER SECTION
[mysqld]
#character-set-server=latin1
character-set-server=utf8
default-character-set=utf8
default-collation=utf8_general_ci
问题1. 一直无法在 status 下看到 Server 和 DB 的 characterset 为 utf8,哪里
少设了吗?
问题2. 尝试用 SET NAMES utf8; ,可是没有用。
问题3. 执行 show create database dbname; --> database 是 utf8
执行 show create table tb; --> table 是 utf8
执行 insert into tb (name) values ('中文'); 却得到下面的 errmsg
ERROR 1366 (HY000): Incorrect string value: '\xA4\xA4\xA4\xE5' for column
'name' at row 1
为什麽不能输入到 tb 里头呢?
请问,我该怎麽解决这三个问题呢?请高手赐教 ~
THank you so much !
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.84.60.175