免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8779 | 回复: 6
打印 上一主题 下一主题

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-01 05:13 |只看该作者 |倒序浏览
我的X LOCALE设置是:
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.UTF-8

当我不设置任何字符集,就用默认的latin1:
mysql>; status

Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1

在mysql 客户端下到可以输入和在查询时显示中文,也可以从写好的文件中导入有中文的记录,但在图形端:query-brouser(version:1.1.7-1)就不能显示中文了,都是问号;

反之,我在配置文件/etc/mysql/my.cnf加入:default-character-set=utf8(或者gbk,gb2312等),或者在启动时加入这个参数:
mysql>; status
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8

在mysql客户终端下可以输入汉字,但却不能在查询时显示汉字了,当然query-brouser同样不能显示中文

一直迷惑了好久,看了论坛许多说明和官方MANUAL都不能解决这个问题。
我装的版本是:
Server version: 4.1.11-Debian_4-log

谁要知道这个问题,请帮忙说明一下。

论坛徽章:
0
2 [报告]
发表于 2005-07-01 10:19 |只看该作者

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文

我也遇到同样的问题,烦请高手们帮忙!

论坛徽章:
0
3 [报告]
发表于 2005-07-02 00:47 |只看该作者

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文

难道没有人能解决这个问题?

论坛徽章:
0
4 [报告]
发表于 2005-07-02 01:37 |只看该作者

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文

服务器端的字符集设置就没必要改了,只要支持gb2312/gbk即可。
所谓的终端不能输入中文或者显示中文,只是终端环境设置的问题。

论坛徽章:
0
5 [报告]
发表于 2005-07-10 22:12 |只看该作者

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文

如果你在linux终端上使用mysql,记得将终端的字符编码修改成一致

我的fedora core 4的修改方法:终端 - 设定字符编码 - 选择字体

我的是可以输入和显示中文

论坛徽章:
0
6 [报告]
发表于 2005-07-10 22:16 |只看该作者

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文

/etc/my.cnf 文件如下:
[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
default-character-set=gb2312
     
[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=gb2312

论坛徽章:
0
7 [报告]
发表于 2005-07-11 15:42 |只看该作者

怪:mysql设置character=gbk等中文乱码,而latin1却可以显示中文

从mysql4.1.11开始就使用更全面的编码机制。所以在某个环节编码不正确就会不一样。

不过,不推荐把中文内容存储到其他编码集中。这里涉及到排序模式和检索模式,可能出现混乱的顺序。

我有一个好办法推荐给你。把mysql使用默认字符集。在创建表的时候使用你指定的字符集,在mysql client工具上使用set names [encode]这样形式,可以保证你进出数据正确。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP