Re: [JSP ] servlet中用到中文字
※ 引述《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" "" rel="nofollow">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
: <html xmlns="" rel="nofollow">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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):