| 风信Java论坛 ›› J2EE/Java Web 讨论交流中心 ›› servlet中文乱码问题 | 登录 -> 注册 |
|
1F servlet中文乱码问题 miracle Post by : 2008-06-06 10:27:36.0
一个sid字段,将字符串“可AA121”写入数据库时没有出现乱码,再将它显示到页面上,也没有乱码,但是,我将他传入servlet里,用string str = request.getParameter("sid");得到时,用system.out.println(sid);显示出来的确是:??AA121 请问这是为什么呢? 我的servlet页面里已经加入了:response.setContentType("text/html;charset=GB2312"); request.setCharacterEncoding("gb2312") |
|
2F 唧唧 Post by : 2008-06-06 11:02:33.0
你用啥应用服务器? Tomcat 还是 Resin? system.out.println 是打印到 服务器端的控制台的, 只给管理员调试使用,其他人都看不见的 tomcat 的核心编码 是 ISO 的,你去试试 更改他的编码为gb2312 在 conf/server.xml |
|
3F 唧唧 Post by : 2008-06-06 11:21:07.0
给你2个编码解码的方法吧: 传递中文参数的时候 编码一下,接收的时候再解码: java代码
需要导入: import java.io.UnsupportedEncodingException; |
|
4F miracle Post by : 2008-06-10 08:44:30.0
呵呵...谢谢了 |
|
5F miracle Post by : 2008-06-10 10:33:28.0
以下是引用 唧唧 于 2008-06-06 11:02:33.0 的发言
你用啥应用服务器? Tomcat 还是 Resin? system.out.println 是打印到 服务器端的控制台的, 只给管理员调试使用,其他人都看不见的 tomcat 的核心编码 是 ISO 的,你去试试 更改他的编码为gb2312 在 conf/server.xml 在哪里啊?server.xml里面好像没有ISO啊,要怎么改啊? |
|
6F 唧唧 Post by : 2008-06-10 11:58:17.0
<Connector port="8080" maxThreads="150" minSpareThreads="25" 加上去~ 中文编码 还是建议 用 3楼 的方法~,地址栏是不应该出现中文 |
|
7F miracle Post by : 2008-06-12 08:57:45.0
不能不说说为什么地址栏是不应该出现中文呢? |
|
8F admin Post by : 2009-06-24 12:20:27.0
以下是引用 唧唧 于 2008-06-10 11:58:17.0 的发言 <Connector port="8080" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="99" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="gb2312"/> ... 还得补上 useBodyEncodingForURI="true" 节点 !! |
| 风信Java论坛 ›› J2EE/Java Web 讨论交流中心 ›› servlet中文乱码问题 | 登录 -> 注册 |