06.20.07
彻底解决Coppermine Photo Gallery 1.4.10中文乱码问题
标签:Coppermine Photo Gallery, CPG, PHP, 中文乱码, 方法综合比较了一下,觉得在众多图库开源软件中,Coppermine Photo Gallery还是一款不错的组件,安装简单而且功能强大。在我从Sourceforge下载了最新稳定版后,却发现虽然是多国语言版,但是对中文的支持不太理想。最明显的表现是界面中文与显示语言中文总是有一项会是乱码。例如,在“语言& 编码设定”中将“语言”设置为Chinese_gb,发现整个界面都变成中文了。这时你一定很高兴吧。但是问题却来了:你会发现新增的类别与相册名保存后总是为乱码。无论你怎样调整数据库Mysql的编码/整理格式都无济于事(我试过gb2312_chinese_ci、utf8_general_ci、utf8_unicode_ci等编码格式都不起作用)。相反,如果将“文字编码”显示为chinese_simplified(euc-cn)(其实也就是gb2312编码的另一种说法),“语言”设置为英文,则能够正常进行中文类别、相册、照片描述的添加,但是界面又是中文的(如果此时在语言中选择了Chinese_gb,则仍然会有一方是乱码)。
此时不得不感慨一番:鱼和熊掌怎么就不能兼得呢?
于是,看其代码、究其原因,发现还是语言和文字编码这两处设定不一致造成的。语言虽然选择了Chinese_gb,但实际确实utf-8的编码格式。于是我新建了一个gb2312编码格式的PHP文件作为一个新的语言文件(取名为chinese_gb2312.php)。将其放在CPG根目录下的lang文件夹中。这时再在后台设定中选择language,发现有了chinese_gb2312这一项,选中。文字编码一项,选中chinese_simplified(euc-cn)。保存设定。
哈哈,问题解决!再也没有乱码问题!整个世界都清静了……
大家可以点击这里(点击右键另存为)下载这个语言文件,然后保存到服务器上CPG目录下的lang文件夹中。这个语言文件在Coppermine Photo Gallery 1.4.10 (stable)下测试通过。经他人测试,在Coppermine Photo Gallery 1.4.12下也能解决问题。
另外,提供繁體中文版的語言文件:下載,一樣地放在CPG目錄下的lang文件夾中。然后在后臺選擇語言的時候,選擇chinese_big5這一項。
本文可以自由转载,转载时请保留全文并注明出处。作者:仲子
原文链接:http://www.wangzhongyuan.com/archives/122.html
本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:http://www.wangzhongyuan.com/archives/122.html
cnk said,
2007年9月12日 at 16:16
朋友非常感谢你的智慧与技术分享,本人正被此事苦恼中,现在看来可以解决了!
cnk said,
2007年9月12日 at 16:53
如果可以希望提供一个目前最新版本:
Coppermine Photo Gallery 1.4.12 乱码的解决方法.
cnk said,
2007年9月12日 at 16:54
如果可以能否提供一个 Coppermine Photo Gallery 1.4.12 版本,乱码的解决方法.
仲远 said,
2007年9月12日 at 19:04
嗯,我没有装过Coppermine Photo Gallery 1.4.12版,所以也不知道这个方法能不能适用与新版本。如果新版的乱码实在解决不了,可以装Coppermine Photo Gallery 1.4.10版,我可以提供这个版本给你:)
仲远 said,
2007年9月13日 at 16:14
呵呵,能够解决就好了:)
HK said,
2007年11月21日 at 9:35
非常厲害! 請問有沒有繁體中文版本呢?
謝謝!
仲远 said,
2007年11月21日 at 18:41
to HK,
我在文章中新增了一個繁體中文版本,你可以在下載后放在lang文件夾下,覆蓋原來的版本試試看:)
注意,在覆蓋前最好備份原來的chinese_big5.php文件。
然后在后臺設定中選擇language的時候,就選擇chinese_big5這一項就好了。
rpai said,
2007年12月15日 at 23:26
嗯,谢谢了
rpai said,
2007年12月16日 at 1:42
我试过了,不行
仲远 said,
2007年12月16日 at 14:11
你是什么版本的Coppermine Photo Gallery?
请检查一下你数据库中的字符集是不是gb2312~
这个解决方案是经过很多人验证可行的:)你再仔细检查检查是不是有其它地方导致了乱码~
william said,
2007年12月16日 at 18:17
请问为什么上传中文文件名的图片,就无法正常显示?
恳请高手帮助!谢谢!
仲远 said,
2007年12月17日 at 13:39
如果你正确设置了CPG的编码格式的话,上传后的图片的中文名在图片链接中会自动编码成类似"%D1%A7%CA%F5%B1%A8%B8%E6"这样的字符串,这样apche才能够正确找到这张图片。
你可以看一下这个链接:
http://cs.ruc.edu.cn/cs-gallery/thumbnails.php?album=5&page=1
其中的图片的url就是已经自动编码过的了。
freethought said,
2008年1月27日 at 8:50
请教一下下
这样数据库编码用什么?还是utf8_unicode_ci吗?
但是这样编码的话,数据库里面乱码了哦!
仲远 said,
2008年1月28日 at 14:34
既然CPG是选择了中文的GB2312编码,数据库的整理类型也应该对应是gb2312_chinese_ci
thunderb said,
2008年5月5日 at 18:18
请问这个解决办法是不是也适合1.4.18 (stable)版?
另外这个软件有简单教程吗?第一用
仲远 said,
2008年5月6日 at 12:33
谢谢您的关注,不过由于已经使用了1.4.10,所以我没有测试过更高的版本。
龍 said,
2008年8月18日 at 22:53
请问这个解决办法是不是也适合1.4.19 (stable)版?
如果沒有可以給我1.4.10 或 1.4.12 版本嗎?
謝謝