知识大全 Java多语言编码问题解析(2)

Posted

篇首语:于今腐草无萤火,终古垂杨有暮鸦。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java多语言编码问题解析(2)相关的知识,希望对你有一定的参考价值。

Java多语言编码问题解析(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  这里是一个具体的例子     现在因为浏览器对UTF 的支持 我们可以通过在源文件 请求 响应中都使用unicode编码方式 来轻松达到处理国际化和字符编码问题的目标   以我们使用的tomcat 为例 过程如下      编写JSP页面时 在每个JSP页面在页首都要增加一行     在编辑JSP页面时 一定要确保JSP文件以unicode的方式保存 目前几乎所有的编辑器都有以unicode编码保存或将文件内容转换成unicode的功能      增加一个用来声明request的CharacterEncoding的类SetCharacterEncodingFilter java   SetCharacterEncodingFilter的这个类主要的作用就是 把request在从页面刚提交到server端的时候的encoding声明为我们想要的encoding 通过调用request的方法setCharacterEncoding (String encoding) 来改变 这样可以使request的从客户端传过来的时候 按我们在web xml (在第二点可以讲到) 中配置的encoding来对提交的数据编码      修改web xml文件 配置一个filter来过滤全部url请求 通过第二步中的类 声明所有url请求的编码类型未UTF   在web xml文件中加上以下这段     Set Character Encoding   kyle web sample SetCharacterEncodingFilter    encoding  UTF       Set Character Encoding  /*      在上面这段文字中 kyle web sample SetCharacterEncodingFilter 指定步骤 中的类的位置 UTF 指定我们希望声明的request的编码类型 /* 指定这个filter的适用范围(这里指的是全部url请求)      同时注意二个问题    servlet的版本必需是支持request setCharacterEncoding(String encoding)这个方法才行 也就是在serlvert 以上    控制面板区域设置的当前代码页属性必需设定为 (GBK) 如果是 (OEM United States) 它处理文字的时候是 -bit 而中文和日文等是 -bit 所以在显示和处理时它把中文的前 位给截掉 这样就会出现乱码问题     附 SetCharacterEncodingFilter源文件  package kyle web sample;  import java io IOException;  import javax servlet Filter;  import javax servlet FilterChain;  import javax servlet FilterConfig;  import javax servlet ServletException;  import javax servlet ServletRequest;  import javax servlet ServletResponse;  import javax servlet UnavailableException;  public class SetCharacterEncodingFilter implements Filter    /**  * The default character encoding to set for requests that pass through  * this filter   */  protected String encoding = null;    /**  * The filter configuration object we are associated with  If this value  * is null this filter instance is not currently configured   */  protected FilterConfig filterConfig = null;    /**  * Should a character encoding specified by the client be ignored?  */  protected boolean ignore = true;    /**  * Take this filter out of service   */  public void destroy()    this encoding = null;  this filterConfig = null;      /**  * Select and set (if specified) the character encoding to be used to  * interpret request parameters for this request   *  * @param request The servlet request we are processing  * @param result The servlet response we are creating  * @param chain The filter chain we are processing  *  * @exception IOException if an input/output error occurs  * @exception ServletException if a servlet error occurs  */  public void doFilter(ServletRequest request ServletResponse response   FilterChain chain)  throws IOException ServletException      // Conditionally select and set the character encoding to be used  if (ignore || (request getCharacterEncoding() == null))    String encoding = selectEncoding(request);  if (encoding != null)  request setCharacterEncoding(encoding);      // Pass control on to the next filter  chain doFilter(request response);      /**  * Place this filter into service   *  * @param filterConfig The filter configuration object  *  *encoding  * UTF   *  */  public void init(FilterConfig filterConfig) throws ServletException    this filterConfig = filterConfig;  this encoding = filterConfig getInitParameter( encoding );  String value = filterConfig getInitParameter( ignore );  if (value == null)  this ignore = true;  else if (value equalsIgnoreCase( true ))  this ignore = true;  else if (value equalsIgnoreCase( yes ))  this ignore = true;  else  this ignore = false;      /**  * Select an appropriate character encoding to be used based on the  * characteristics of the current request and/or filter initialization  * parameters  If no character encoding should be set return  * null   *    * The default implementation unconditionally returns the value configured  * by the encoding initialization parameter for this  * filter   *  * @param request The servlet request we are processing  */  protected String selectEncoding(ServletRequest request)    return (this encoding);     cha138/Article/program/Java/JSP/201311/19699

相关参考

知识大全 RH8实现多用户多语言登陆

RH8实现多用户多语言登陆  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  RH实现多用户多语言登

知识大全 C#的Windows编程中多语言的实现

C#的Windows编程中多语言的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  实现多语言

知识大全 .NET Framework 中多语言支持的实现

.NETFramework中多语言支持的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前言

知识大全 ASP.NET MVC 多语言解决方案

ASP.NETMVC多语言解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在ASPNE

知识大全 利用INI文件实现界面无闪烁多语言切换

利用INI文件实现界面无闪烁多语言切换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序运行时

知识大全 用.NET的System.Globalization来创建多语言应用程序

用.NET的System.Globalization来创建多语言应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 Java中的中文编码问题

Java中的中文编码问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ()为什么要编码&nbs

知识大全 Java属性文件编码问题

Java属性文件编码问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Property文件中使

知识大全 Java web解决常见编码出现的问题

Javaweb解决常见编码出现的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 Java二维码的生成以及解析

Java二维码的生成以及解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  日本人写的解码与编码