- 论坛徽章:
- 0
|
本帖最后由 cooperdoctor 于 2010-12-29 16:21 编辑
各位DX好,请教问题。在freebsd上装了mysql5.1,如果字符集选择latin1的话,可以通过客户端将中文写入数据库中,但如果字符集为utf8,则中文无法写入数据库,请问是什么原因?
自己顶,再增加些信息
(1) mysql 安装时
make BUILD_OPTIMIZED=yes WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_bin BUILD_STATIC=yes WITH_INNODB=yes install clean
(2)创建数据库时
create database testDB CHARACTER SET utf8 COLLATE utf8_bin
(3)创建表时
也加上了CHARACTER SET utf8 COLLATE utf8_bin
(4)查看已创建的数据库和表
show create database testDB 都显示DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
(5)查看数据库字符集
mysql> show variables like 'character_%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| 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 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
(6)/etc/my.cnf下加入了默认字符集为utf8 |
|