老生常谈的问题:MYSQL编码引起的数据导入导出问题!!!

jxyuhua 2006-04-10 11:42:57
服务器上有一个MYSQL4.1的数据库,我不能改变它的设置。默认CHARSET=latin1
里面有一个表category,包含了中,日,英三种语言的数据。

现在需要备份它,用phpMyAdmin2.6导出,
可是发现中文的内容是乱码,再导入到本地的数据库时,全是乱码,不能正常显示。
本地的数据库也是CHARSET=latin1

想问一下各位:
1.如何知道服务器使用的是什么编码?用SQL语句来查看,我不能用命令来操作数据库,只能用phpMyAdmin;
2.应该如何使导出的数据能够顺利地还原回来?

另外还有一个问题就是在输入日文资料的时候,发现有一些字不能正常输入:如“能”,“构造”等,其它的日本字是可以输入的,我是通过网页方式输入日本字,然后用PHP编码:iconv('gbk','Shift_JIS',$str);的方式输入到数据库中,然后再取出显示的:echo iconv('Shift_JIS','gbk',$str);

希望得到大家的帮助。
...全文
287 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxyuhua 2006-04-12
  • 打赏
  • 举报
回复
导入导出的问题我下载了faisunsql,已经可以将导出的数据还原到原来的表中了,虽然日文的导出资料仍是乱码,但是可以还原的。
另外关于日本输入的问题

“我是通过网页方式输入日本字,然后用PHP编码:iconv('gbk','Shift_JIS',$str);的方式输入到数据库中”
难道你用中文输入法是入日文吗?
------------------------------------------------------
不是,用的是日文输入法来输入日文的,但保存之后,在网页上显示有一些字不正确,如“能”,“构造”,其它的字可以。
Cain 2006-04-12
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/TopicView3.asp?id=4456072
xuzuning 2006-04-11
  • 打赏
  • 举报
回复
CHARSET=latin1
表示编码自动识别,在mysql中不对传入和传出的数据做任何处理

phpMyAdmin2.6增加了对文字编码的功能,单在处理上存在问题,一般需手工修改配置文件才可正常工作。不知道你的phpMyAdmin2.6的小版本号是多少。

对于你这种一张表中混合存放不同编码的内容的情况,无论怎样处理都会存在问题的
你应该把要存入的内容全部转换成utf-8编码


“我是通过网页方式输入日本字,然后用PHP编码:iconv('gbk','Shift_JIS',$str);的方式输入到数据库中”
难道你用中文输入法是入日文吗?
GaoXX 2006-04-11
  • 打赏
  • 举报
回复
wukol 2006-04-11
  • 打赏
  • 举报
回复
我也碰到过,导入本机后成乱码,然后,本机读出数据显示也是乱的。
但是服务器上都是对的。。就是不知怎么导出不是乱码的来....
jxyuhua 2006-04-10
  • 打赏
  • 举报
回复
补充一下:CHARSET=latin1是我通过phpMyAdmin导出表结构时看到的,不知道是不是代表了数据库的编码?
patchclass 2006-04-10
  • 打赏
  • 举报
回复
数据库的编码
表的编码
程序的编码
显示的编码
全部
需要统一编码才可以,只是很难做到统一,所以就经常乱码,不过乱码就乱码的用,只要正反乱的都对那就对数据显示没有问题了,呵呵

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧