当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : linux下mysql乱码终结
帖子发表于 : 2007-08-30 16:41 
头像

注册: 2007-08-22 17:36
帖子: 461
地址: 澳门
送出感谢: 0 次
接收感谢: 0 次
和windwos中的Mysql一樣,默認的設置都是latin1.而並非我們需要的gbk,或者big5.所以還是需要人爲的設置:
無論是採用telnet還是直接到Linux中進入mysql中:找到/etc/目錄下的my.cnf文件:

我用的是RedHat AS4
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
以上默認的文件内容,現在把它修改為如下:
default-character-set=utf8
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[client]
default-character-set=gbk

[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


紅色部分為增加的部分,其餘保持不變。
然後重新啓動Mysql服務器
執行命令:
set names 'gbk';
show variables like "character_set_%";
show variables like "collation_%";
看到的結果應該是:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
mysql> show variables like "collation_%";
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | gbk_chinese_ci |
| collation_database | utf8_general_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

這樣儅windows程序訪問數據庫的時候就應該是會顯示正確了。如果還不行的話,可能看看在建立數據庫的時候有沒有制定了編碼:
比如:

CREATE DATABASE sample

CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci ;

詳情請見:mysql中文乱码终结: http://blog.chinaunix.net/u/21684/showart.php?id=356087[/img]


附件:
文件注释: 示例图
Screenshot.png
Screenshot.png [ 342.62 KiB | 被浏览 1707 次 ]



_________________
我很敏捷,我是网上的蜘蛛;我很茫然,我是网中的猎物!
欢迎到我的Blog※代码回音※
页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-10-08 9:56 
头像

注册: 2007-02-14 13:54
帖子: 308
送出感谢: 0 次
接收感谢: 0 次
我用的是 utf-8,mysql 无需设置就可以用中文了


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译