欢迎光临, 访客. 请先 登入註册一个帐号.
十二月 11, 2018, 03:14:08 上午
19594 文章 在 3864 主题 由 4580 会员
最新註册会员: aa123aa1
LifeType 中文开发论坛  |  支援  |  虚拟主机讨论  |  MySQL连线校对问题 « 上篇主题 下篇主题 »
页: [1]
作者 主题: MySQL连线校对问题  (阅读 26347 次)
bibicall
LifeType 中文发展团队
超级会员
*****
文章: 640


我是猪老大


检视个人资料 个人网站
« 于: 四月 05, 2006, 06:35:50 下午 »

不知道是不是主机商的关系
最近我的资料库连线校对从utf8_general_ci变成了latin1_swedish_ci
前台呈现没问题
只是在资料库里中文变乱码,变换 browser 语系为utf-8也还是乱码
之前 utf8_general_ci的情况下,变换 browser 语系为utf-8可以正确呈现中文
目前使用上没问题,只是怕到时候换主机商时,
会出现之前老猫的问题
有尝试过手动将资料库中所有table与资料库本身的校对改为utf8_general_ci
可是前台会出现乱码 疑惑

有没有人有好的解决方式?

我现在有一个想法:
就是先建立一个utf8_general_ci的环境
将虚拟主机的备份资料倒回去
一笔一笔的将乱码改回正常显示后
在备份出来,倒回虚拟主机上
不知道这样会不会成功,工程有点浩大
已记录

我的虚拟主机基本资料如下
Operating system: Linux
Apache version: 1.3.37
PHP version: 4.4.4
MySQL version: 4.1.21-standard
WhiteCloud
初级会员
**
文章: 51


检视个人资料 个人网站
« 回覆文章 #1 于: 四月 05, 2006, 08:09:15 下午 »

是否和这个有关
http://twpug.net/modules/newbb/viewtopic.php?topic_id=1235&forum=14&post_id=4873#forumpost4873
已记录
bibicall
LifeType 中文发展团队
超级会员
*****
文章: 640


我是猪老大


检视个人资料 个人网站
« 回覆文章 #2 于: 四月 05, 2006, 10:32:43 下午 »

应该类似吧
总之是语系的问题
只是之前的正常,我猜是因为虚拟主机最近进行版本升级吧
原来的utf8_general_ci全都变成了latin1_swedish_ci
已记录

我的虚拟主机基本资料如下
Operating system: Linux
Apache version: 1.3.37
PHP version: 4.4.4
MySQL version: 4.1.21-standard
ericj
新手见习
*
文章: 43



检视个人资料 个人网站
« 回覆文章 #3 于: 四月 06, 2006, 10:33:05 下午 »

如果之前就是utf8_general_ci的话
最惨的情况就是牺牲最近的就好了..

基本上如果要避免以后转换没问题的话
就是连线校对还有Table里面的校对全部都要是utf8_general_ci

但是你说你有尝试把Table改回utf8_general_ci
可是却变乱码,是全部都变乱码还是只有最近的变乱码(主机升级后)

如果你把Table都改回utf8_general_ci连以前的也都变乱码的话
那事情就有复杂了..

已记录

Pentium4 1.5GHz + 512MB SDRAM + 200G vinum mirror RAID
FreeBSD6.1+lighttpd+php5-cgi+MySQL5.1
bibicall
LifeType 中文发展团队
超级会员
*****
文章: 640


我是猪老大


检视个人资料 个人网站
« 回覆文章 #4 于: 四月 06, 2006, 11:00:54 下午 »

如果你把Table都改回utf8_general_ci连以前的也都变乱码的话
那事情就有复杂了..

事情就如你所说的有复杂
因为改过去utf8_general_ci 旧的也变成乱码
改回latin1_swedish_ci正确显示
但是在RSS的feed 在newsgator显示变成乱码了
不过咧,newsgator最近在发神经中,
也不确定是不是因为修改语系造成的
目前考虑忍痛牺牲,旧店重开
一篇一篇重新发文
只是迴响的部分就很麻烦了
已记录

我的虚拟主机基本资料如下
Operating system: Linux
Apache version: 1.3.37
PHP version: 4.4.4
MySQL version: 4.1.21-standard
markwu
系统管理员
超级会员
*****
文章: 3928


Mark Wu


检视个人资料 个人网站
« 回覆文章 #5 于: 四月 07, 2006, 12:57:20 上午 »

不需要这么作

这其实是 phpmyadmin 的 bug 伤心

1. 先在你自己的虚拟主机上装 一个 phpmyadmin。我假设你知道你的 DB 的设定,所以你知道如何修改 phpmyadmin 的设定档案,让 phpmyadmin 可以运作!
2. 修改 /libraries/select_lang.lib.pgp 中的

程式码:
    'utf-8'        => 'utf8',

改为

程式码:
    'utf-8'        => 'latine1',
3. 然后用匯出的功能,把资料匯出。
4. 这时你会看到会出的档案都是正确的中文字了。

Mark
已记录

bibicall
LifeType 中文发展团队
超级会员
*****
文章: 640


我是猪老大


检视个人资料 个人网站
« 回覆文章 #6 于: 四月 07, 2006, 02:03:08 上午 »

1. 先在你自己的虚拟主机上装 一个 phpmyadmin。我假设你知道你的 DB 的设定,所以你知道如何修改 phpmyadmin 的设定档案,让 phpmyadmin 可以运作!
这就是问题所在
之前老猫发表过的[疑难]换主机商、MySQL连线校对和乱码问题
sea0964也是提出这个解决方法
问题是,我该如何得知我真正的DB Hostname,而不是localhost
莫非是我进入phpmyadmin的网址? 疑惑
无法确定Hostname 或 IP 迟迟不敢下手
已记录

我的虚拟主机基本资料如下
Operating system: Linux
Apache version: 1.3.37
PHP version: 4.4.4
MySQL version: 4.1.21-standard
ericj
新手见习
*
文章: 43



检视个人资料 个人网站
« 回覆文章 #7 于: 四月 07, 2006, 02:24:28 上午 »

markwu提到的方法真的很有趣,
没想到过了快一年了,终于有很解决的办法了 吐舌头
我刚刚试了一下,以前用utf8塞进latin1 Table的资料都可以正确匯出了  开怀大笑

to bibicall:
DB hostname应该是看你装lifetype的时候怎么设定
这边就怎么设定啰。

phpmyadmin只是一套去管理database的程式
其实跟lifetype有点像,

so别担心,设定错的话只是会连进不去而已,
不会毁了database的XDD


已记录

Pentium4 1.5GHz + 512MB SDRAM + 200G vinum mirror RAID
FreeBSD6.1+lighttpd+php5-cgi+MySQL5.1
bibicall
LifeType 中文发展团队
超级会员
*****
文章: 640


我是猪老大


检视个人资料 个人网站
« 回覆文章 #8 于: 四月 07, 2006, 02:29:37 上午 »

to bibicall:
DB hostname应该是看你装lifetype的时候怎么设定
这边就怎么设定啰。
所以应该就是用localhost就行噜?
我想他说那边要改,会不会是因为他那篇是写给DreamHost使用者看的
DreamHost的DB好像有另一个hostname的样子



已记录

我的虚拟主机基本资料如下
Operating system: Linux
Apache version: 1.3.37
PHP version: 4.4.4
MySQL version: 4.1.21-standard
bibicall
LifeType 中文发展团队
超级会员
*****
文章: 640


我是猪老大


检视个人资料 个人网站
« 回覆文章 #9 于: 四月 07, 2006, 04:03:03 上午 »

已经可以正确显示中文了
只是目前匯出匯入还是有点小问题
需要先将连线校对改为 utf8_general_ci 吗?(整个资料库、table、table下的每个栏位)
因为我先改了之后再匯出,重新匯入后中文变「?」了

天快亮了,睡先,睡饱了在来试
已记录

我的虚拟主机基本资料如下
Operating system: Linux
Apache version: 1.3.37
PHP version: 4.4.4
MySQL version: 4.1.21-standard
ericj
新手见习
*
文章: 43



检视个人资料 个人网站
« 回覆文章 #10 于: 四月 07, 2006, 04:10:42 上午 »

我是改完phpmyadmin的 utf8->latin1后
就直接匯出,这样看到的SQL就是正确的中文了

要匯进去的时候再把Table和connection的校对设好
还有phpMyAdmin改回来就好了..
已记录

Pentium4 1.5GHz + 512MB SDRAM + 200G vinum mirror RAID
FreeBSD6.1+lighttpd+php5-cgi+MySQL5.1
fishbudinli
新手见习
*
文章: 12


检视个人资料
« 回覆文章 #11 于: 十一月 02, 2006, 01:47:39 上午 »

不需要这么作

这其实是 phpmyadmin 的 bug 伤心

1. 先在你自己的虚拟主机上装 一个 phpmyadmin。我假设你知道你的 DB 的设定,所以你知道如何修改 phpmyadmin 的设定档案,让 phpmyadmin 可以运作!
2. 修改 /libraries/select_lang.lib.pgp 中的

程式码:
    'utf-8'        => 'utf8',

改为

程式码:
    'utf-8'        => 'latine1',
3. 然后用匯出的功能,把资料匯出。
4. 这时你会看到会出的档案都是正确的中文字了。

Mark

在我爬了许久的文后这篇终于出现了!
虽然是很久以前写的!我还是要感动的说感谢Mark!! T_T
我终于看得懂我资料表里面的东西了!谢谢!!
已记录
页: [1]
LifeType 中文开发论坛  |  支援  |  虚拟主机讨论  |  MySQL连线校对问题 « 上篇主题 下篇主题 »
    前往: