数据交互时中文乱码问题的解决方法总结
来源:互联网 发布:飞天侠淘宝客系统8.0 编辑:程序博客网 时间:2024/06/05 20:29
数据交互时中文乱码问题的解决方法总结
username=new String(username.getBytes("iso-8859-1"),"utf-8");
response.setContentType(“text/html;charset=utf-8”);
下面是关于数据传递过程的分析:
(1)、程序键数据交互时,有两种方式:
方式1: 以字节为单位 比如:JDK的IO实现
直接传递字节,与编码集无关。
方式2: 以字符为单位 比如:java程序与数据库的JDBC操作。
1)、传递的是 字节+编码集
2)、到mysql,取出字节与编码集,转换成字符。
3)、再将字符转换成自身编码方式对应的字节,然后存储。
4)、查看数据库时,再将存储的字节转换成自身编码格式的字符
(2)、浏览器向服务器提交数据(后台接收页面传过来的数据出现问题):
总结:
Java程序与Tomcat浏览器之间数据交互以 字符为标准,Tomcat与浏览器之间 以字节为标准.三者编码集不一样,所以乱码了。
设置Tomcat和浏览器的编码集都是UTF-8
response.setCharacterEncoding(“UTF-8”);//知识告知Toncat
response.setHeader(“content-type”,”text/html;charset=utf-8”);//告知Tomcat与服务器。
简化:
response.setContentType(“text/html;charset=utf-8”);
(3)、服务器向浏览器响应数据(后台传过去的数据在页面显示时出现乱码)
总结:
浏览器传递字节到Tomcat,乱码 Tomcat到程序显示Tomcat的文本,但是字节变了。
解决方法:
程序的字符按照ISO-8859-1转换成字节数组
byte[] buffer=msg.getBytes(“ISO-8859-1”);
字节数组按照UTF-8转换成字符
new String(buffer,”UTF-8”);
上述实现GET和POST通用。
简化方案:
request.setCharacterEncoding(“UTF-8”);只用于POST方式
- 数据交互时中文乱码问题的解决方法总结
- 中文乱码问题的解决方法
- 中文乱码问题的解决方法
- eclipse插入数据到MySQL数据库时,出现中文乱码问题的解决方法
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PHP中文乱码的常见解决方法总结
- PyCharm----中文显示乱码的解决方法总结
- 提交中文数据乱码问题总结
- JavaWeb 提交中文数据乱码问题总结
- Python发送Http请求时,中文乱码问题的解决方法
- JPS 中文乱码问题的解决方法
- linux C语言遍历文件夹所有文件
- robotium
- 书房的作用
- JVM_6_HotStop的算法实现
- VMware Fusion安装mini版Centos正确流程及错误示范
- 数据交互时中文乱码问题的解决方法总结
- Codeforces452F(MemSQL Start[c]UP 2.0)[Permutation]--线段树+Hash
- 批量提取文件名的经典方法
- hdu4496(并查集+逆向思维)
- 洛谷 [USACO1.1]黑色星期五Friday the Thirteenth
- android图片加载框架-磁盘缓存
- Mysql得到某个表的所有字段
- 关于QT 内存泄露
- 数据结构的概念和学习数据结构的必要性