免费注册 查看新帖 |

Chinaunix

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

林泥克斯 请进 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-23 10:49 |显示全部楼层 |倒序浏览
刚才去看了一下 FAQ,看到你的帖子,不知道你是否已经解决,在此回复。
有问题还是在版面发帖讨论吧,不要在 FAQ 里,那里还是保持一些确定的问答比较好。
insert into test (name) values ('運\');
但是在服务器上导入就提示引号不成对。救救我吧。
我要如何改服务器的mysql才能让它使用'運\'的写法?

因为最后一个引号被 \ 符号转义了,所以它会提示你再输入一个单引号,否则是语法错误。
所以正确的语法不可能是'運\',只能是'運\''。

INSERT INTO `test` (`username`) VALUES (0xe9818b),

这个的确是 utf8 的编码

我已经绝望了。编译成utf8的话有很多记录,比如上面的運字导入失败。

你那个用 phpmyadmin 导出的东西是错误的,不能用。
要么你用 phpmyadmin 指定一下用 utf8 来导出数据。

编译成gbk,导了几行就一动不动了,要么就报段错误。

字符集不一致可能会造成乱码进而使语法出错,可以理解得吧。

建议:就在服务器上用 mysqldump 来导出数据,指定用数据库的字符集,得到类似这样的数据:
INSERT INTO `test` (`username`) VALUES (0xe9818b)
你已经做过的。
然后目标数据库也要用 utf8 编码,然后再导入。

试验一下,不行我们再讨论吧。

论坛徽章:
0
2 [报告]
发表于 2006-06-24 14:38 |显示全部楼层
原来的服务器是 MySQL 4.0.27 版本,那你所谓的编译成 utf8 了,是指你的新服务器?
4.0 版本,它应该用的是 latin1 编码吧?登录后输入 \s 或者 show variables like 'char%' 看看有没有信息?我从 4.1 开始接触,之前的不知道,不好意思。
在两个机器上分别做一次 mysqldump,随便找个测试数据库即可,然后你用文本编辑器打开两个 dump 出来的文件,看区别。
新版的在开头应该多了一些字符集的控制,把它修改后拷贝到 4.0 dump 出来的文件上。特别是 set names 那一段,设置为 4.0 的字符集。然后用它来导入到新版的服务器上。这个说起来麻烦了,你自己研究一下吧。
关键就是:把新服务器上对应的数据库和数据表的编码设置成和原来的一样!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP