在基于JAVA的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。本文抽取了UFO中的演示实例来介绍如何解决中文乱码问题, UFO是www.gm365.com发布的一个web server软件(以建设网站的稳定性和高负载能力,快速的响应速度和低CPU消耗的功能而开发)。
1、解决jsp中文乱码问题
在jsp中,当使用out.print(request.getParameter("parameter-name"))输出表单数据时,如果表单数据为中文字符时,则输出的内容是乱码。引起中文乱码的原因是,在默认情况下,提取表单数据使用的编码格式为UTF-8.为了解决中文乱码问题,首先要使用 ISO-8859-1 编码格式将表单数据存储到字节数组中,然后再使用借助 gb2312的编码格式将字节数组转换为字符串。完整的处理表单的程序代码如下:
例如:我们要将用户提交的表单数据输入到页面,直接用如下方法将会在parameter-name为中文字符时出现乱码
<%
String pName =request.getParameter("parameter-name");
out.println(pName);
%>
需要对其做如下改动可解决此类中文字符乱码问题:
<%
String pName =request.getParameter("parameter-name");
byte[] bytesStr=pName.getBytes("ISO-8859-1");
out.println(new String(bytesStr,"gb2312"));
%>
分享到:
相关推荐
JSP利用过滤器解决request中文乱码问题.docx
Request.QueryString 获取的中文变乱码了,解决方法如下 1、html中,可以用js的 encodeURI() 方法将要传的中文处理,例如 encodeURI("I am 乱码") ,处理之后,字符串中的中文 “乱码” 两字将会被被十六进制的转义...
Request对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.docRequest对象和乱码解决.doc
JSP用过滤器解决request getParameter中文乱码问题.docx
java servlet 请求 时 tomcat request.getParameter 乱码
Python request获取网页中文乱码问题 r = requests.get(“http://www.baidu.com“) **r.text返回的是Unicode型的数据。 使用r.content返回的是bytes型的数据。 也就是说,如果你想取文本,可以通过r.text。 ...
主要介绍了JSP利用过滤器解决request中文乱码问题,感兴趣的小伙伴们可以参考一下
在传值时会遇到中英文乱码 <filter-name>GBKEncoding <filter-class>com.sshnews.filter.GBKEncodingFilter</filter-class> <filter-name>GBKEncoding <url-pattern>/* </filter-mapping>
2种解决JSP中request乱码问题.docx
今天跟大家分享几个解决java Web开发中,request.getParameter()获取URL中文参数乱码的解决办法,需要的朋友可以参考下
RestSharp 在请求接口的时候,返回中文的话,一些特殊编码,比如gbk,从Response中解析出来的值会乱码,修改了一点点源代码,留一下记录以免忘记 该版本是github上,最新一个版本。下载时间是 20170821
简单可靠的filter源码和详细配置,轻松解决web中文乱码问题,web开发者必备神器你值得拥有!
(2)用过滤器解决request中文乱码问题。 (3)代码如下: package my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ChineseFilter implements Filter { //定义了一个...
主要介绍了jsp中通过过滤器(Filter)解决JSP的Post和Request中文乱码问题的方法,需要的朋友可以参考下
多文件上传例子,彻底解决中文乱码问题了。总结中文乱码问题如下: 1、所有页面都用UTF-8。 2、写过滤器,设置request.setCharacterEncoding("UTF-8")。 3、javascript脚本里用encodeURI(str)。 4、适当的时候,在...
Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。但官方原始的版本,对中文支持不行,需要修改源码。
一直以为,只有 Request.QueryString 接收url查询字符串含中文时可能会乱码(做好编解码工作,很容易可以避免),碰到的时候,才知道 Request.Form 接收表单的值中含中文也会乱码,以前真是很傻很天真很无知。