Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2035422
  • 博文数量: 414
  • 博客积分: 10312
  • 博客等级: 上将
  • 技术积分: 4921
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 01:49
文章分类

全部博文(414)

文章存档

2011年(1)

2010年(29)

2009年(82)

2008年(301)

2007年(1)

分类: Mysql/postgreSQL

2008-05-06 00:52:07

在前台页面里面,从数据库中选择出来的数据表中文项目,有的是正确的编码显示,有的是错误的乱码,分析后知道,原因可能有3种:
1. mysql_server 的语言环境应该为zh_CN.GBK ,同时数据库的环境变量中要把各个数据库中的字符集设定为utf8;
2. 页面前台输出需要转码
3. 运行客户端的时候,没有设定utf8编码就把数据库表建立,使得数据库表中本身插入的就是乱码
 
我遇到的起初认为是1;最后发现是3
 
错误的原因:
 
正确的解决方法:
解决utf8字符集的问题
mysql -h127.0.0.1 -P3336 -uroot < initTables.sql
mysql -h127.0.0.1 -P3336 -uroot < initMacro.sql 
mysql -h127.0.0.1 -P3336 -uroot < initUsers.sql 
mysql -h127.0.0.1 -P3336 -uroot < initRoles.sql 
mysql -h127.0.0.1 -P3336 -uroot
这样插入的表,本身就是乱码,显示到前台,当然也是乱码了
 
解决utf8字符集的问题
[aimm@aixuning MySQL]$  mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initTables.sql
[aimm@aixuning MySQL]$  mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initMacro.sql 
[aimm@aixuning MySQL]$  mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initUsers.sql
[aimm@aixuning MySQL]$  mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot < initRoles.sql
[aimm@aixuning MySQL]$  mysql --default-character-set=utf8 -h127.0.0.1 -P3336 -uroot
阅读(1530) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~