Java 中文乱码总结
来源:互联网 发布:药鼎进阶数据 编辑:程序博客网 时间:2024/05/18 18:19
======================================================
注:本文源代码点此下载
======================================================
每篇一囧:人生就像打电话,不是你先挂,就是我先挂。
1.javascript 传参乱码
2.jsp与页面参数传参乱码
3.链接传参乱码
4.数据库读取乱码
5.java与文件/流之间的乱码
本文转自:http://ykko2009.blog.163.com/blog/static/183199124201138888899993/
======================华丽丽的分割线======================
1.javascript 传参乱码
在浏览器端对要传递的中文参数进行编码处理.代码如下:
xmlhttp.open("post",url,true); //请求参数初始化
xmlhttp.setrequestheader("content-type","application/x-www-form-urlencoded"); //因为请求方式为post,所以这里要设置请求头.(如果请求方式为get,此句代码可以省略)
xmlhttp.send("name="+encodeuri(encodeuri("星期日"))); //向服务器端发送参数
在服务器端代码: 页面jsp保证是utf-8编码
printwriter out = response.getwriter(); //得到response的输出流对象
string name1 = request.getparameter("name"); //得到key为"name"的请求参数
string name = urldecoder.decode(name1,"utf-8"); //对得到的参数进行解码
out.print(name); //向浏览器端发送数据
======================华丽丽的分割线======================
2.jsp与页面参数传参乱码
jsp获取页面参数时一般采用系统默认的编码方式,如果页面参数的编码类型和系统默认的编码类型不一致,很可能就会出现乱码。解决这类乱码问题的基本方法是在页面获取参数之前,强制指定request获取参数的编码方式:request.setcharacterencoding("utf-8") 。
如果在jsp将变量输出到页面时出现了乱码,可以通过设置response.setcontenttype("text/html;charset=utf-8")。jsp页面乱码通常只要在页面开始地方用上面代码指定字符集编码即可。如果还不行,那么请用下面这句话来转换 str=new string(str.getbytes("iso-8859-1"),"页面编码方式");
======================华丽丽的分割线======================
3.链接传参乱码
在传参的jsp对中文进行编码:href="new.jsp?name=java.net.urlencoder.encode("链接")";
在接受的jsp对中文进行转码:string str = urldecoder.decode(request.getparameter("name "), "utf-8");
======================华丽丽的分割线======================
4.数据库读取乱码
大部分数据库都支持以unicode编码方式,所以解决java与数据库之间的乱码问题比较明智的方式是直接使用unicode编码与数据库交互。很多数据库驱动自动支持unicode,如microsoft的sqlserver驱动。其他大部分数据库驱动,可以在驱动的url参数中指定,如mysql驱动:jdbc:mysql://localhost/myapps?useunicode=true&characterencoding=gbk。
======================华丽丽的分割线======================
5.java与文件/流之间的乱码
java读写文件最常用的类是fileinputstream / fileoutputstream和filereader / filewriter。其中fileinputstream和fileoutputstream是基于字节流的,常用于读写二进制文件。读写字符文件建议使用基于字符的filereader和filewriter,省去了字节与字符之间的转换。但这两个类的构造函数默认使用系统的编码方式,如果文件内容与系统编码方式不一致,可能会出现乱码。在这种情况下,建议使用filereader和filewriter的父类:inputstreamreader / outputstreamwriter,它们也是基于字符的,但在构造函数中可以指定编码类型:inputstreamreader(inputstream in, charset cs) 和outputstreamwriter(outputstream out, charset cs)。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
- Java 中文乱码总结
- java 中文乱码 总结
- java 中文乱码 总结
- java中文乱码解决总结
- Java 中文乱码问题总结
- Java 中文乱码问题总结
- java开发中文乱码总结
- java中文乱码问题总结
- java里的中文乱码问题总结。
- 关于java中文乱码的总结
- Java-MySQL中文乱码编码问题总结
- Java Web 中文乱码问题总结
- Java-MySQL中文乱码编码问题总结
- java中常见的中文乱码总结
- 关于中文乱码问题总结----java
- 中文乱码问题总结
- 中文乱码问题总结
- 中文乱码 总结
- 避免常见的6种HTML5错误用法
- k3huihui
- 骆驼SPACE
- Delphi 2005纯WIN32开发环境
- Ajax技术WEB开发__用AJAX开发智能Web应用程序之高级篇
- Java 中文乱码总结
- 反编译 破解crash html editor winform [WinHTMLEditorControl.dll][.NET Win HTML Editor Control]
- DELPHI - Delphi 2007 已内部支持 GIF 动画了
- AJAX 请求实例
- Java 媒体框架 之 JMF
- Java编程思想评注者序
- 码行天下之--三种Ajax框架使用比较
- Html Email转向 乱码解决
- 基于ASP.NET AJAX 的级联菜单