免费注册 查看新帖 |

Chinaunix

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

[求助]表单里的中文显示问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-03 21:03 |只看该作者 |倒序浏览
我用Linux.Apache,MySQL,Php, 结合一个论坛程序,现在有一个问题向各位请较一下:

我的论坛里有提供如添加资源的一项功能,在添加资源的时候,每一项都可以输入中文,并保存。此时也论坛里

的中文也可以正确显示。但是,当再次编辑这项资源的时候,那些项目表单里都显示如下面的汉字对应字符了:

"#32654;#22269;#21270;#23398;#20250;(我把每个前面的&去掉了,否则在帖子里会直接显示对应的中文.

我现在想知道,要在那里实现中文支持,才能解决我这个问题,比如是编译php支持中文,还是mysql,或者是apahce, 或者是我的论坛程序里要有专门的中文处理模块。就是不清楚在哪里入手。给个大概的指点就可以了。

谢谢先!

[ 本帖最后由 scme 于 2006-4-4 16:34 编辑 ]

before.JPG (18.96 KB, 下载次数: 26)

添加资源时显示

添加资源时显示

after.JPG (22.94 KB, 下载次数: 19)

修改资源时显示

修改资源时显示

display.jpg (10.38 KB, 下载次数: 24)

预览也没问题

预览也没问题

论坛徽章:
0
2 [报告]
发表于 2006-04-03 22:31 |只看该作者
我的数据库中一直都保存着这种形式的中文字,因为我通过编码转换,把日文shift_JIS编码下的字,保存为数据库的gb2312码下的字。
我想楼主遇到了文字编码的问题。
看看网页的编码charset,是否与数据库的charset相同或有兼容性。最大的问题是,MySQL的字符集设置正确吗?

[ 本帖最后由 sunable 于 2006-4-3 22:35 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-04-03 23:12 |只看该作者
我编译mysql的时候采用: --with-charset=gbk --with-extra-charsets=complex

用phpMyAdmin查看mysql是显示: MySQL 字符集: UTF-8 Unicode (utf

编译php和apache的时候都没有用字符开关。

论坛徽章:
0
4 [报告]
发表于 2006-04-03 23:13 |只看该作者
到Mysql看下ipaddr(但愿我没记错),,精华的帖子

论坛徽章:
0
5 [报告]
发表于 2006-04-04 16:26 |只看该作者
按照那些方法,设置字符,还是不行。现在加了一张图片。看看各位还有什么宝贵意见:

总之现在的结果是:
phpMyAdmin管理中中文也只显示NCR(Numeric character reference)字符(以前有写误)
论坛中添加资源时中文显示没问题:before.jpg
论坛中最后中文显示也没问题:display.jgp
就是重新编辑这条资源时,表单里的字符显示出问题了:after.jpg.
论坛中用中文关键字查找也没问题。返回结果正确。

[ 本帖最后由 scme 于 2006-4-4 23:30 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-04-04 17:41 |只看该作者
这种编码叫做数字字元参引 (Numeric Character Reference, NCR)的概念是用iso10646(即Unicode)的码值表示多字节语种,这主要是要Xml规范中引入,现在主要的浏览器都支持它,形式如下:

  1. 汉字 汉字 .
复制代码


通过php的mbstring函数可以和普通汉子编码进行变换。
问题是要找出产生这个编码的地方。我这里有个xstandard所见所得编辑器就是这样输出中文的。
参见
http://www.ugia.cn/?p=72#more-72

http://www.stud.uni-karlsruhe.de/~uu5i/blog/index.php?aid=476

[ 本帖最后由 imbiss 于 2006-4-4 17:43 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2006-04-04 23:20 |只看该作者
主要是页面的编码要跟保存的编码一直.

看看你的 修改表单 那个页面的编码.

如果默认gb2312 一般内地的机器都可以默认,其他的编码就够戗了,要指定页面编码.

论坛徽章:
0
8 [报告]
发表于 2006-04-04 23:30 |只看该作者
我想保存的方式应该没错,就是修改时提取资源的方式有误,但是为什么phpMyAdmin管理浏览结果时也显示NCR(Numeric character reference)字符,我的MySQL 字符集: UTF-8 Unicode (utf

论坛徽章:
0
9 [报告]
发表于 2006-04-05 01:57 |只看该作者
你修改资源那里,<input type="text"> 里面的东西是不是htmlspecialchars过?如果没有,那么&#23398;这种字符应该正常显示的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP