回 帖 发 新 帖 刷新版面

主题:中文字符问题

用request.getParameter("XXX")能够得到中文字符,
但是把它插入mysql后,就变成了????.
请问这个问题怎么解决啊.谢谢了!

回复列表 (共4个回复)

沙发

以前回过好多遍了。jsp提交时会用iso8859_1对提交数据编码。所以,你getParameter之后要转回页面编码。

板凳

谢了大侠!能够实现向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 楼

如果你确定从数据库里取出来以后是正常的,也就是数据库编码和页面编码是一致的或是兼容的。那你试着在html标签中打上一个<META http-equiv=Content-Type content="text/html; charset=gb2312">

用什么字符自己改。

<%@page contentType="text/html;charset=GBK"%>只给后台声明编码。在IE中的声名还多用META。

你还可以试一下,不改页面。在乱码页时,改一下IE的编码,应该也可以。

4 楼

谢谢大侠!!
  我通过把javabean里面的函数写出来,写在JSP里面,就没有问题了.字符集都是用的<%@page contentType="text/html;charset=ISO8859_1"%>.

我来回复

您尚未登录,请登录后再回复。点此登录或注册