主题:中文字符问题
天地乾坤
[专家分:0] 发布于 2005-11-22 09:17:00
用request.getParameter("XXX")能够得到中文字符,
但是把它插入mysql后,就变成了????.
请问这个问题怎么解决啊.谢谢了!
回复列表 (共4个回复)
沙发
SaviourJLF [专家分:380] 发布于 2005-11-22 09:58:00
以前回过好多遍了。jsp提交时会用iso8859_1对提交数据编码。所以,你getParameter之后要转回页面编码。
板凳
天地乾坤 [专家分:0] 发布于 2005-11-23 10:01:00
谢了大侠!能够实现向mysql插入中文字符了.但有遇到一个问题了.
在用表单显示内容时,中文字符又出现乱码了,
比如:软件名称:XXX
软件属性:YYY
其中的XXX,YYY是从数据库里调出来的.(X,Y都是中文字符)
而软件名称,软件大小(就是这个表单)是写在javabean里的.
一张显示内容的JSP开头如果是<%@page contentType="text/html;charset=GBK"%>
则显示为:软件名称:???
软件属性:???
如果是<%@page contentType="text/html;charset=ISO8859_1"%>
则显示为:????:XXX
????:YYY
请问这个是怎么回事啊?字符集都改遍了,还是没有整对.
3 楼
SaviourJLF [专家分:380] 发布于 2005-11-23 10:05:00
如果你确定从数据库里取出来以后是正常的,也就是数据库编码和页面编码是一致的或是兼容的。那你试着在html标签中打上一个<META http-equiv=Content-Type content="text/html; charset=gb2312">
用什么字符自己改。
<%@page contentType="text/html;charset=GBK"%>只给后台声明编码。在IE中的声名还多用META。
你还可以试一下,不改页面。在乱码页时,改一下IE的编码,应该也可以。
4 楼
天地乾坤 [专家分:0] 发布于 2005-11-24 08:58:00
谢谢大侠!!
我通过把javabean里面的函数写出来,写在JSP里面,就没有问题了.字符集都是用的<%@page contentType="text/html;charset=ISO8859_1"%>.
我来回复