欢迎光临, 访客. 请先 登入註册一个帐号.
十二月 10, 2019, 04:46:13 上午
19594 文章 在 3864 主题 由 4580 会员
最新註册会员: aa123aa1
LifeType 中文开发论坛  |  支援  |  虚拟主机讨论  |  [疑难]换主机商、MySQL连线校对和乱码问题 « 上篇主题 下篇主题 »
页: [1]
作者 主题: [疑难]换主机商、MySQL连线校对和乱码问题  (阅读 10894 次)
oc
版主
一般会员
*****
文章: 115


检视个人资料 个人网站
« 于: 十二月 11, 2005, 11:50:33 上午 »

这阵子忙着换主机商,可惜不换还没事,一换才发现麻烦大了。

我在新家新装了跟旧家一样的1.0.1,一切顺利,于是开始把旧机资料库更新到新站,更新完毕以后,到前台一看,天啊,老猫变成「耿」猫,唐诺变成「唿」诺,数位化变成数「使」化……,其他一堆转换错误的文字,满坑满谷族繁不及备载。

起先我以为问题出在新主机商的MySQL编码,于是我改了新站资料库的「连线校对」设定,再试一次备份还原,错误依旧。不管设定是Latin1或者utf8_general_ci,资料库还原上去,错字还是错字,老猫还是「耿」猫。

我实在不知道问题在哪里,左想又想,试着在新站发一篇测试文,咦,一切正常。老猫就是老猫,不会变耿猫。不管用Latin1或者utf8发文都没问题。

显然新站的MySQL资料库编码是OK的。会不会是旧站备份出来的资料库档就已经有问题了呢?

于是我回到旧站,进入phpMyAdmin看一下,发现资料库的「连线校对」设定是Latin1,我先把整个资料库先改为utf8_general_ci,然后备份,还原到新站,没效;再用手动把资料表一个一个改成utf8,然后重作备份,再还原,还是没用。

我猜备份出来的压缩档编码可能就已经坏掉了。于是我在旧站新增一个db,然后直接在旧站备份还原,果然──不正常(请看我在旧站的测试站)。跟新主机的状况一样,备份的资料会有错字码,但是新增文章则不会。

回头检查下载下来的压缩档,不管是用cPanel还是用phpMyAdmin下载下来的,解压缩以后,里面的文字都是乱码,无法解回正常的utf8中文。

我真是麻烦大了,文字在MySQL里面是好的,前台读起来没问题,可是倒出来的就不能用,这样我简直就没办法搬家了(除非我愿意一篇一篇慢慢搬文)。这真是大麻烦啊。有谁知道这是什么道理、有解决办法吗?粉惨啊。

我的主机环境:

Apache version 1.3.33 (Unix)
PHP version 4.4.0
MySQL version 4.1.13-standard
pLog 1.0.1
« 最后编辑时间: 十二月 11, 2005, 05:43:35 下午 由 老猫 » 已记录

jerome
新手见习
*
文章: 42



检视个人资料 个人网站
« 回覆文章 #1 于: 十二月 13, 2005, 06:28:14 下午 »

如果有 shell  可以用
请输出成 sql 再输入
应该就不会出错了
已记录

欢迎光临,恶人最多之 BeB
http://beb.anyday.com.tw/
sea0964
新手见习
*
文章: 16


检视个人资料 个人网站
« 回覆文章 #2 于: 二月 02, 2006, 01:14:37 下午 »

http://www.deal13.net/modules/icontent/index.php?page=21
这边有简单的解决方案
只要新旧主机都能在phpmyadmin上面正常显示中文就没有问题
已记录

页: [1]
LifeType 中文开发论坛  |  支援  |  虚拟主机讨论  |  [疑难]换主机商、MySQL连线校对和乱码问题 « 上篇主题 下篇主题 »
    前往: