Tomcat 服务器下 JSP 页面中文问题解答
2007-11-08 15:45
316 查看
导读:
目前, Tomcat 作为一种出色的开放源代码的 JSP 服务器,目前在 JSP 的开发过程中获得了广泛的应用. 但是作为一款英语国家公司开发的软件, 在中文环境下不可避免的会出现一些乱码问题. 这里就 Tomcat 4.0 和 Tomcat 4.1 下的常见中文问题及其解决方法做一个总结. 这些方法都已经在 中文版 Windows 98 + JDK 1.3.1 和 中文版 Windows 2000 + JDK 1.3.1 下通过了测试. 另外在 IBM 的网站上有一个网页 http://www-900.ibm.com/developerWorks/cn/java/jsp_dbcsz/index.shtml 也讨论了这个问题.
首先为了便于讨论, 这里首先列出了一些方便的工具方法, 便于我们的讨论. 这些方法如下所示:
// 转换由表单读取的数据的内码到 GB2312
public String toChi(String input) {
try {
byte[] bytes = input.getBytes("ISO8859-1");
return new String(bytes);
}catch(Exception ex) {
}
return null;
}
// 对给定字符进行 URL 编码
public String encode(String value) {
if(isEmpty(value)) return "";
return java.net.URLEncoder.encode(value);
}
// 对给定字符进行 URL 解码
public String decode(String value) {
if(isEmpty(value)) return "";
return java.net.URLDecoder.decode(value);
}
问题1. 浏览器中看到的 JSP 页面中的汉字怎么都成了 '?' ?
可能原因如下: 您的页面中没有指定页面的字符集为中文. 解决方法(适用于Tomcat 4.0 和 Tomcat 4.1)是在页面中添加如下代码:
<%@ page contentType="text/html;charset=gb2312" %>
问题2. 通过 POST 方法提交的表单的汉字都显示为乱码(在 Tomcat 4.0 下正常, Tomcat 4.1 下出现).
可能原因如下: POST 提交的字符串都是 ISO8859-1 编码的, 只要把它的字符集转换到中文就行了. 解决方法如下(适用于 Tomcat 4.1):
// 单个的参数
String result = toChi(request.getParameter("parameterName"));
// 多个参数
String values[] = request.getParameterValues(name);
if(values != null) {
for(int i = 0; i
目前, Tomcat 作为一种出色的开放源代码的 JSP 服务器,目前在 JSP 的开发过程中获得了广泛的应用. 但是作为一款英语国家公司开发的软件, 在中文环境下不可避免的会出现一些乱码问题. 这里就 Tomcat 4.0 和 Tomcat 4.1 下的常见中文问题及其解决方法做一个总结. 这些方法都已经在 中文版 Windows 98 + JDK 1.3.1 和 中文版 Windows 2000 + JDK 1.3.1 下通过了测试. 另外在 IBM 的网站上有一个网页 http://www-900.ibm.com/developerWorks/cn/java/jsp_dbcsz/index.shtml 也讨论了这个问题.
首先为了便于讨论, 这里首先列出了一些方便的工具方法, 便于我们的讨论. 这些方法如下所示:
// 转换由表单读取的数据的内码到 GB2312
public String toChi(String input) {
try {
byte[] bytes = input.getBytes("ISO8859-1");
return new String(bytes);
}catch(Exception ex) {
}
return null;
}
// 对给定字符进行 URL 编码
public String encode(String value) {
if(isEmpty(value)) return "";
return java.net.URLEncoder.encode(value);
}
// 对给定字符进行 URL 解码
public String decode(String value) {
if(isEmpty(value)) return "";
return java.net.URLDecoder.decode(value);
}
问题1. 浏览器中看到的 JSP 页面中的汉字怎么都成了 '?' ?
可能原因如下: 您的页面中没有指定页面的字符集为中文. 解决方法(适用于Tomcat 4.0 和 Tomcat 4.1)是在页面中添加如下代码:
<%@ page contentType="text/html;charset=gb2312" %>
问题2. 通过 POST 方法提交的表单的汉字都显示为乱码(在 Tomcat 4.0 下正常, Tomcat 4.1 下出现).
可能原因如下: POST 提交的字符串都是 ISO8859-1 编码的, 只要把它的字符集转换到中文就行了. 解决方法如下(适用于 Tomcat 4.1):
// 单个的参数
String result = toChi(request.getParameter("parameterName"));
// 多个参数
String values[] = request.getParameterValues(name);
if(values != null) {
for(int i = 0; i
相关文章推荐
- Eclipse,tomcat及jsp页面编码的设定解决的中文乱码问题
- Eclipse环境下配置Tomcat服务器,查看JSP页面出现的问题
- 关于上个Flex-Jsp-DB例子中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)
- Eclipse,tomcat及jsp页面编码的设定解决的中文乱码问题
- Flex-Jsp 中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)
- 求高手解答jsp中存储到数据库的问题(想把本地图片存到Tomcat服务器上,路径写在mysql中)
- linux+tomcat struts 2 Jsp页面传值中文乱码问题解决方法
- 在jsp中,获取页面中中文输入的值乱码问题解决。修改tomcat的编码问题
- JSP页面提交后中文字符出现乱码-tomcat下中文乱码问题
- Flex-Jsp 中Flex和Jsp传递中文参数问题的解决方法!(Tomcat服务器)
- 今天遇到一问题:用eclipse+tomcat开发网页的时候,每次修改jsp页面都需要重启服务器,不重启会报错
- tomcat服务器中文乱码问题集锦(servlet/jsp中文乱码)
- Tomcat 8.x版本不支持使用HTTP PUT方式访问JSP页面的问题
- J2EE中修改了jsp页面或者html页面重新启动tomcat无效问题
- SpringBoot打包成jar在服务器上无法访问JSP页面问题
- ASP.NET页面接受JSP传递来的中文字符问题
- 为什么在tomcat6.0下显示正常的jsp页面在tomcat 7.0里中文全是乱码?怎么样才能解决
- JSP页面编码问题研究三(中文字符乱码问题的解决方法)
- 解决Web项目因访问URL与Tomcat服务器文件夹相同导致404页面的问题
- java : JSP页面上中文乱码问题的解决经验