返回列表 回复 发帖

界面正常显示中文,可数据库里乱码。

前几年就注意到了weberp,但只是随意用了用,并没有实施的想法。最近公司里要上进销存,要求也不算太复杂,所以就想到了weberp。因为对于amp程序接触比较多,所以当安装完成后就通过phpmyadmin看了看数据库,我所设置的中文均乱码。后来折腾一下午,先后试了四种编码,结果一样,还是乱码。有点不想弄它了,又心不干,在google里搜索了一阵子,没有很有作用的信息,但有一条信息所说的我想试试,就是在ConnectDB_mysql.inc文件中写数据库的语句让它以特定的某种编码进行写数据库,不知有没有哪位仁兄尝试过这个办法?

[ 本帖最后由 yuzifu 于 2007-10-28 12:40 编辑 ]
你的phpmyadmin是什么版本?新版本(2.61以上)的phpmyadmin只支持utf-8编码,所以会把数据库中的中文显示成乱码。

实际上你在命令行下list mysql表内容是正常的中文。

您可以在本版的安装指南贴里下载phpmyadmin,这个是2.51版,可以支持gb2312或gbk。
其实,我考虑更多的是,如何让数据库存储utf-8编码的数据....
搜索官居方的列表,没有找到解决办法,只怪我的英文太差
不知道您为什么考虑这么多,呵呵。
utf-8数据输入没什么问题,在PDF里会乱码。数据库导入导出的数据也不能直接用excel等常见程序编辑。
希望楼主能做些研究解决一下编码问题,或者直接用中文字符集。

Phil的意思是不希望用utf8,他觉得大数据量网络传输会影响系统速度。他总是想着拨号连接和pda上的应用。

估计随着mysql对utf8支持的不断深化,他会改变主意的。
因为我的wp在一次升级中由于考虑不周,弄丢了好多数据,其中的主要原因就是因为刚开始时没考虑到编码统一的问题,而后来的几次运用cms也对于统一编码为utf-8做了很多工作,所以这些前车之鉴让我对考查webERP时的顾虑多一些。

而选用utf-8编码是因为考虑到整个系统的版权问题,现在的linux/unix越来越多地采用utf-8编码来解决国际化(或者说中文化)问题,所以在可能的情况下,我尽量让它也与主流接轨。
希望你能早日解决这个问题,如果需要帮助,请明示!我们也期待着中文问题有个圆满的解决!
我支持utf-8统一的力量很大,而且速度这个问题不是太大的问题。
版主,今天在itpub里看到你的辨论帖,于是产生了在IM中联系你的想法,不知可否?

本想PM的,但发送消息好像出了故障,老提示“消息填写未完整”

这个问题真让人头痛,我的也在数据库中显示乱码,试了几种方法都不行。
期待着有人来解决。
期待着有人来解决
我选用utf-8编码,utf8_general_ci。数据库管理用EMS SQL Manager 2005 for MySQL,数据库就显示的是中文。界面正常显示为中文。运行正常。
欢迎光临 http://bbs.erp100.com
这问题已经解决了看这 http://bbs.erp100.com/viewthread.php?tid=18424&amp
翻译文件要utf8的po文件,还有初始数据库也要utf8当然你用英文的数据库是没这个问题的,新的翻译在校验中,我们来谢谢王建峰的努力奉献,这小子不鼓励加鞭策下是不会出成果的。 :/yinxian

weberp显示中文仍旧有问题

我进行了如下操作:
1.在中文windowsXP上安装最新版本V3.08的weberp,安装Apache和MySQL(选择缺省字符集为utf8)
2.MySQL上创建数据库weberp,修改脚本weberp\sql\weberp-demo.sql,将所有的default character set latin-1去掉。
3.在weberp.org上下载zh_CN.3.05包,解压后将其中的zh_CN目录拷贝至weberp\locales目录下
4.修改weberp\config.php中参数:$DefaultLanguage ='zh_CN';
5.修改weberp\includes\header.inc文件,将第10行iso-8859-1改为utf8,将第18行iso-8859-1改为utf8
6.修改weberp\includes\ConnectDB_mysql.in文件,在第21行插入mysql_query("set names utf8;");

结果:
1.用phpMyAdmin查看weberp数据库为utf8字符集,其中表stockmaster表为utf8字符集,各varchar字段和text字段为utf8_general_ci。
2.用浏览器打开weberp,登陆界面显示中文,输入demo和密码后登陆,界面仍旧为英文,在inventory菜单里面添加一个item,其中描述填写中英文。保存后再点击页面最上面的items搜到此item,发现描述中中文显示为乱码。查看页面源代码,其中包含meta http-equiv="Content-Type" content="text/html; charset=utf8"
3.用phpMyAdmin查看表stockmaster,发现刚才输入的item记录正确显示中文。


问题:
1.为什么采用中文包后,登陆后的显示界面仍旧为英文?
2.为什么添加中文到数据库后,phpMyAdmin已经显示中文保存正确,可weberp的页面不能正常显示中文?

哪位高手指点一下,感激不尽!

自己解决了一个

第2个问题已解决,将stocks.php中的两处iso-8859-1均改为UTF-8即可。注意UTF-8中间一定要带-号。

让数据库、网页都变成UTF-8编码

自己折腾了半天,都搞定了,贡献出来给大家。

1.登陆后,点击网页上最上方的登陆的用户名,可以选择采用哪一个locale(即weberp\locale目录下的子目录)的语言作为显示页面的语言。
2.下载的中文翻译包,里面是GB2312编码。如果数据库想弄成GB2312,网页也弄成GB2312,那么按照前两贴的修改,把所有的UTF-8变成GB2312就可以用了。
3.如果数据库想弄成UTF-8,网页也想弄成UTF-8,以方便今后国际化(加入日韩文等),那么,需要将中文翻译包再转换一下。
转换过程如下:首先,将locale\zh_CN\目录下的messages.po文件中的两处GB2312都改成UTF-8。然后,自己写个程序,将所有messages.po文件中的msgstr后面引号中的中文字符串替换成UTF-8编码,messages.po文件中的其他字符不做转换。保存成新的messages_utf8.po文件,再将此po文件传到linux机器上,通过运行msgfmt messages_utf8.po命令得到一个新的messages.mo文件。最后将此mo文件拷贝到weberp\locale\zh_CN目录下覆盖原来的messages.mo文件。
4.weberp\config.php文件中参数设为$DefaultLanguage ='zh_CN'; 其中zh_CN为weberp\locale目录下的子目录名

一切就OK了。

按我的推理,今后如果再加日文,或一个ERP系统中文用户和日文用户同时使用(跨国公司),那么数据库仍旧可以为UTF-8编码(存储中英文和日文),中文界面用翻译成UTF-8的带中文的messages.mo,日文界面用翻译成UTF-8的带日文的messages.mo即可,用户可以任意切换。

按照楼主的试了一下,问题依旧

按照楼主的试了一下,问题依旧
fdfddfdfdfdfd
顶一下。我也是这个问题。
我也是这个问题,几种方法都用了,可数据库还是乱码,如果全设置UTF8后,是不乱码,但是,打印PDF又乱码了,不知道如何改用PHPMYADMIN低版本?如何安装PHPMYADMIN?
返回列表