LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 968|回复: 11

关于MySQL中文乱码的问题!!

[复制链接]
发表于 2006-1-6 11:12:29 | 显示全部楼层 |阅读模式
我把其它机器上建好的数据库采用考贝目录的方法,放到Linux中,并将属性设为777,但为什么原来都好好的中文,现在是乱码??
请问各位应该如何解决?!
谢谢!
发表于 2006-1-6 11:24:48 | 显示全部楼层
把新的数据库的字符集改为和原来一样。
具体我没做过。
还有,你是从哪里看到乱码的?----这非常重要!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-6 13:00:25 | 显示全部楼层
谢谢楼上这位朋友!
我使用的是phpMyAdmin 2.6.2-Debian-3sarge1,我在给某表新加入记录时输入的是中文,但游览就是乱字符!
但如果我用自己的程序去游览数据库,得到的就是正常中文!
回复 支持 反对

使用道具 举报

发表于 2006-1-6 14:04:54 | 显示全部楼层
php那个程序用的字符集和你在数据库中的不匹配~~~
我认为是这样子的~~~
回复 支持 反对

使用道具 举报

发表于 2006-1-6 14:12:09 | 显示全部楼层
phpMyAdmin的首页有设置字符集的选项。
回复 支持 反对

使用道具 举报

发表于 2006-1-6 16:49:23 | 显示全部楼层
mysql 从3.x升到4.x了吧。3.x不支持多字符集,默认存进去都是latin-1,4.x可以用多字符集,按照系统不同默认使用字符集也不同,所以你看到了乱码。
有很多解决办法,最简单的是修改你的程序config,读取时用latin-1字符集
还有的复杂一点,转换mysql数据库存储内容的字符编码
回复 支持 反对

使用道具 举报

发表于 2006-1-6 18:22:17 | 显示全部楼层
实在不行把数据全抽出来,然后重新建立table,用phpmyadmin重新插入
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-6 20:42:40 | 显示全部楼层
我的数据库版本情况:
原来的数据在MySQL 4.0.21中创建好的,现在需要放到MySQL4.1.15  for Linux的服务上,将目录直拷过去。发现中文有乱码后,我采用:1、备份;2、新建一个库;3、从备份文重新写回去(主要就是转换字符集)。结果还是不行!
请高手指点一下
回复 支持 反对

使用道具 举报

发表于 2006-1-7 23:48:40 | 显示全部楼层
/etc/mysql/my.cnf
[mysqld]
#
# * Basic Settings
#
default-character-set = gb2312 #主要是这个

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
default-character-set = gb2312

然后重新启动数据库服务进程。

然后重新生成新的数据库,这样,该数据库就会使用gb2312作为默认编码。
回复 支持 反对

使用道具 举报

发表于 2006-1-8 08:20:44 | 显示全部楼层
用UTF-8吧,先把数据使用sql导出,记得使用查询set charset utf-8来导出数据,然后在phpmyadmin里面导入!
目录拷贝的方法可行,但是要看你创建数据库的时候使用的是什么格式myisam么?那么可以
否则就不可以
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表