对JAVA中文过滤的问题:
原来很长一段时间被JAVA的中文乱码所困扰,不过在多次实践后总算找到了较好解决方法,
首先在页面里的 “charset” 设置上统一用 “GB2312”或“GBK” ,不过我推荐最好使用GBK,对中文支持比较好,
然后是增加过滤器。
源码示例:
SetCharacterEncodcingFilter.java
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;
public class SetCharacterEncodingFilter implements Filter {
public void destroy() {
}
/**
* Select and set (if specified) the character encoding to be used to
* interpret request parameters for this request.
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {
request.setCharacterEncoding("GBK");
// 传递控制到下一个过滤器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
}
}
wed.xml 配置:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.dxsoft.util.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样就能防止出现乱码的问题了~~~
不过在页面和过滤器中的编码要统一,不然就算不会有乱码,也会造成乱码,因为所有的REQUEST和RESPONSE都必须经过过滤器才能被程序所处理。如果编码不统一,就会发生转码错误。
不知道有多少人遇到过,通过RESPONSE传递参数时,传中文会出现乱码。这点很烦人的!!!> .<
我在写一个下载组件时就遇到了这种问题。找了好久终于找到了解决方法~~~~~~~
主要就是设置response的HTTP头部编码的问题。
fileName : 我所创建的文件名
response.setHeader("Content-Disposition","attachment; filename="+URLEncoder.encode(fileName,"UTF-8"));
通过GET传递中文参数时的乱码问题:
很简单,但不知道就很麻烦了~~~ -_=
String name = new String(request.getParament("name").getBytes("ISO-8859-1"), "GBK");
分享到:
相关推荐
Java转码工具是一种基于Java语言开发的实用程序...总的来说,Java转码工具是处理编码问题的有效工具,尤其对于处理中文字符集的转换,它可以帮助开发者和普通用户在不同编码格式间轻松转换,确保数据的准确性和一致性。
在Java或者Python等编程语言中,通常会有一个类库或函数来实现汉字转码。例如,在Java中,我们可以使用`java.nio.charset`包下的`CharsetDecoder`和`CharsetEncoder`类进行编码和解码。在Python中,可以使用内置的`...
本文将深入探讨如何使用Java API进行中文转码,以方便URL传参和其他应用。 首先,中文字符在计算机中存储时通常采用Unicode编码,而URL参数通常要求ASCII编码,这就涉及到字符编码的转换。在Java中,我们可以使用`...
在Java编程语言中,"转码"通常是指在不同字符编码之间进行转换的过程,以解决乱码问题。乱码是由于文件或数据流在处理时使用了错误的字符集导致的。在这个场景下,"java转码代码"指的是用于解决Java程序中遇到的乱码...
java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel
汉字转码是计算机处理中文字符的关键技术之一,它涉及到字符编码、解码和转换等多个方面。在计算机系统中,汉字通常不能直接以图形形式存储,而是需要转化为特定的编码表示,以便于计算机处理和传输。这里我们将深入...
《深入理解Java转码工具:native2ascii.exe》 在Java开发过程中,有时我们需要处理包含非ASCII字符的文本文件,例如包含中文、日文或其他语言的字符串。这时,Java的`native2ascii.exe`工具就显得尤为重要。它是一...
Java 中文乱码问题详解 Java 中文乱码问题是一个老生常谈的问题,特别是在 Web 应用中。今天,我们将从编码角度分析 Java 编译后在控制台和 Web 等终端显示乱码问题。 一、 Java 处理字符的原理 Java 使用 ...
在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要...
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress...js到java encodeURI(url) String qijuType= new String(request.getParameter( ("qijuType")).getBytes("ISO-8859-1"), "utf-8");
GBK是基于中文的编码,包含了大量的汉字和其他语言字符;而UTF-8是一种可变长度的Unicode编码,能容纳世界上几乎所有的字符集。 GBK编码是中国大陆广泛使用的编码标准,它基于GB2312,增加了许多额外的字符。UTF-8...
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
压缩包中的"convert.jar"很可能是一个Java编写的转码工具的可执行文件。Java的JAR(Java Archive)文件是包含了Java类和资源的归档文件,可以直接运行在支持Java的环境中。用户可以通过命令行或图形界面来调用这个...
该“unicode转码工具”特别适用于处理包含汉字的文本,能够将汉字转化为十进制或十六进制的Unicode码。Unicode码通常由两个或四个十六进制数字组成,例如汉字“我”的Unicode码是U+6211。在十进制中,它对应于20337...
在JavaServer Pages (JSP) 开发中,页面间的参数传递是常见的操作,尤其是在处理包含汉字的参数时,由于编码问题可能会导致乱码。本文主要介绍如何在JSP中正确地进行汉字参数的转码与解码,确保数据在页面间传递时...
Java 国际化(i18n)是让软件能够适应不同语言和地区的过程,而中文乱码问题在处理多语言支持时经常遇到。`ResourceBundle` 是 Java 中用于管理国际化资源的关键类,它允许开发者存储特定语言环境下的文本、消息和...
针对c#或者java,其他编程语言,对中文汉字加密出现了密文不一致问题进行修复。增加编码类型,自定义编码类型
例如,当用户在前端输入中文时,如果直接将这些中文字符串发送到服务器,可能会出现乱码问题。因此,需要在前端对中文进行编码,在后端接收到数据后再进行解码。 ### 前端字符集转码 在JavaScript中,可以使用`...
将字符串中的中文做UNICODE转码,非中文忽略 简单实用 封装好了 直接用即可
在传参的 jsp 对中文进行编码可以使用 java.net.URLEncoder.encode 函数,在接受的 jsp 对中文进行转码可以使用 URLDecoder.decode 函数。 四、Java 与数据库之间的乱码 大部分数据库都支持以 unicode 编码方式,...