知识大全 Tomcat服务器下JSP页中文问题解决方法

Posted 中文

篇首语:家资是何物,积帙列梁梠。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Tomcat服务器下JSP页中文问题解决方法相关的知识,希望对你有一定的参考价值。

Tomcat服务器下JSP页中文问题解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  目前 Tomcat 作为一种出色的开放源代码的 JSP 服务器 目前在 JSP 的开发过程中获得了广泛的应用 但是作为一款英语国家公司开发的软件 在中文环境下不可避免的会出现一些乱码问题 这里就 Tomcat 和 Tomcat 下的常见中文问题及其解决方法做一个总结 这些方法都已经在 中文版 Windows + JDK 和 中文版 Windows + JDK 下通过了测试     首先为了便于讨论 这里首先列出了一些方便的工具方法 便于我们的讨论 这些方法如下所示:    // 转换由表单读取的数据的内码到 GB   public String toChi(String input)   try   byte[] bytes = input getBytes( ISO );  return new String(bytes);  catch(Exception ex)     return null;      // 对给定字符进行 URL 编码  public String encode(String value)   if(isEmpty(value)) return ;  return URLEncoder encode(value);      // 对给定字符进行 URL 解码  public String decode(String value)   if(isEmpty(value)) return ;  return URLDecoder decode(value);    问题 浏览器中看到的 JSP 页面中的汉字怎么都成了 ? ?  可能原因如下: 您的页面中没有指定页面的字符集为中文 解决方法(适用于Tomcat 和 Tomcat )是在页面中添加如下代码:  <%@ page contentType= text/;charset=gb %>  <meta equiv= Content Type content= text/; charset=gb >    问题 通过 POST 方法提交的表单的汉字都显示为乱码(在 Tomcat 下正常 Tomcat 下出现)   可能原因如下: POST 提交的字符串都是 ISO 编码的 只要把它的字符集转换到中文就行了 解决方法如下(适用于 Tomcat ):  // 单个的参数  String result = toChi(request getParameter( parameterName ));  // 多个参数  String values[] = request getParametervalues(name);  if(values != null)   for(int i = ; i < values length; i++)   values[i] = toChi(values[i]);        问题 通过 GET 方法提交的表单的汉字都显示为乱码(在 Tomcat 和 Tomcat 下都出现)   可能原因如下: GET 提交的字符串都是 ISO 编码的 只要把它的字符集转换到中文就行了 解决方法如下(适用于 Tomcat Tomcat 下不能用于 page jsp?username=中文):  // 单个的参数  String result = toChi(request getParameter( parameterName ));  // 多个参数  String values[] = request getParametervalues(name);  if(values != null)   for(int i = ; i < values length; i++)   values[i] = toChi(values[i]);        问题 Cookie 中不能写入汉字或者汉字无法正确显示   可能原因如下: Tomcat 下自动把 Cookie 做了编码为 ISO 的存储 而 Tomcat 下的 JSP 引擎不支持包含含有汉字的 Cookie   Tomcat 下的解决方法:  // 根据 Cookie 名称得到请求中的 Cookie 值 如果 Cookie 值是 null 则返回   public String getCookievalue(HttpServletRequest request String name)   Cookie[] cookies = request getCookies();  if(cookies == null) return ;  for(int i = ; i < cookies length; i++)   Cookie cookie = cookies[i];  if(cookie getName() equals(name))   // 需要对 Cookie 中的汉字进行 URL 反编码 适用版本: Tomcat   return decode(cookie getvalue());      // A cookie might not return a null value may return a   return ;    Tomcat 下的解决方法:  // 写入包含汉字 Cookie 的方法  response addCookie(new Cookie( cookieName encode( 汉字 )));  // 得到 Cookie 值的方法(同 Tomcat 的解决方法)  public String getCookievalue(HttpServletRequest request String name)   Cookie[] cookies = request getCookies();  if(cookies == null) return ;  for(int i = ; i < cookies length; i++)   Cookie cookie = cookies[i];  if(cookie getName() equals(name))   // 需要对 Cookie 中的汉字进行 URL 反编码 适用版本: Tomcat   return decode(cookie getvalue());      // A cookie might not return a null value may return a   return ;      问题 在 Tomcat 下 GET 请求(如: page jsp?username=中文) 无法返回原来的值   原因: 与 Tomcat 引擎有关 不论是否转换内码 均无法返回原来的值 但是有一个替代方法 如下:  将 URL 地址改变为 page jsp?username= + encode( 中文 )然后使用下列代码取回参数:  // 单个的参数  String result = toChi(request getParameter( parameterName ));    问题 JavaBean 里使用 <jsp:setProperty id= propName property= * /> 出现中文问题暂时未提供解决方案 cha138/Article/program/Java/ky/201311/28419

相关参考

知识大全 JSP中文编码问题解决方法详解

JSP中文编码问题解决方法详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    最基本的乱码问

知识大全 JSP连接sybase数据库中文显示问题如何解决

JSP连接sybase数据库中文显示问题如何解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 解决JSP开发Web程序中的中文问题[1]

解决JSP开发Web程序中的中文问题[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 解决JSP开发Web程序中的中文问题[2]

解决JSP开发Web程序中的中文问题[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 然后再w

知识大全 JSP+ MySQL中文乱码问题post提交乱码解决方案

JSP+MySQL中文乱码问题post提交乱码解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Tomcat下JSP、Servlet和JavaBean环境配置

Tomcat下JSP、Servlet和JavaBean环境配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 关于jsp页面使用jstl的异常分析

在jsp页面中使用如下代码加入jstl的支持发现页面如下异常那么很有可能是你的Tomcat的lib目录中没有jstl的jar包所以才导致tomcat无法解析jstl解决方法如下感兴趣的朋友可以参考下哈

知识大全 tomcat启动不了

  放TOMCAT的服务端许多人使用  本来启动一直正常  某日突然  startup启动TOMCAT一闪而过  通过cmd启动矣是如此启动失败  最后通过改shutdownport解决问题  <

知识大全 解决jsp重复提交

  有几种方法在你的表单页里HEAD区加入这段代码:<METAHTTPEQUIV="pragma"CONTENT="nocache"><METAHTTPEQUIV="CacheCon

知识大全 常见JSP中文乱码例子及其解决方法

常见JSP中文乱码例子及其解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JSP开发应用