作者pply (彭彭彭^^)
看板java
标题Re: [JSP ] servlet中用到中文字
时间Sun May 21 20:15:12 2006
※ 引述《PsMonkey (痞子军团团长)》之铭言:
: ※ 引述《pply (彭彭彭^^)》之铭言:
: ^^^^^^^^^^^^^
: 别再用这种害人的东西了 T__T
: : java.net.URLEncoder
: : http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLEncoder.html
: 光靠这味,可能不够...
: 下面是我写的测试
: 环境是 Tomcat 5.5.4
: 似乎 Tomcat 在处理 request.getParameter() 的时候
: 就会帮你作 URLDecoder
: 这倒是没什麽... 问题是... 他好像用的 Encoder 是 ISO-8859-1
^^^^^^^^^^^^^^^^^^^^^
感谢版主提醒
很久以前解决的问题都忘记详细的内容了
如上所述 , 是用 ISO-8859-1
这个设定可以在 Tomcat-Home/conf/server.xml 里头改
在 <Connector> 中有个 URIEncoding 改成想要的编码
接下来就可以直接用 getParameter() 取用 ~~~
加个说明
我应该也是在 javaworld 里找到解答的~~~
: (以前好像看过这方面的讨论 @ JavaWorld.tw,精灵大大 post 的)
: 所以,我也搞了一下下,才发现下面这个... 解法?
: 不知道能不能用设定 Tomcat 的方式来解决这个问题...
: <?xml version="1.0" encoding="UTF-8" ?>
: <%@ page language="java" contentType="text/html; charset=UTF-8"
: pageEncoding="UTF-8"%>
: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
: <html xmlns="http://www.w3.org/1999/xhtml">
: <head>
: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
: <title>Simulate Step 1</title>
: </head>
: <body>
: <%
: String param = request.getParameter("str");
: if(param==null){
: response.sendRedirect("test.jsp?str="+java.net.URLEncoder.encode("中文字", "UTF-8"));
: }else{
: out.println( param+"<BR>");
: param = new String(param.getBytes("ISO-8859-1"), "UTF-8");
: out.println(param);
: }
: %>
: </html>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.243.76
※ 编辑: pply 来自: 140.112.243.76 (05/21 20:16)