中文乱码(编码解码)问题的解决办法
来源:互联网 发布:消灭贫困 知乎 编辑:程序博客网 时间:2024/04/29 07:51
个人小结:中文乱码(编码解码)问题的解决办法
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱码问题以及解决方法。
1.JSP页面乱码
这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,
一般来说如果要兼容多种字符编码的话,最好用UTF-8编码。注意,UTF-8最好是要大写。否则有可能会出现未知的异常。
2、数据库乱码
这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下:
在数据库连接字符串中加入编码字符集
String Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=UTF8";
并在页面中使用如下代码:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
3、中文作为参数传递乱码
当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
在参数传递时对参数编码,比如在JSP中传递,传递前应编码,获取时作相应的解码
这里只写出兼容多种浏览器的方法(IE和火狐等)
JAVA写法:
编码:<%@ page import="java.net.URLEncoder" %>
String name = "中国";
String encodeName = URLEncoder.encode(URLEncoder.encode(name, "utf-8"),"utf-8");
解码:<%@ page import="java.net.URLDecoder" %>
String name = request.getParameter("name");
String decodeName = URLDecoder.decode(URLDecoder.decode(name, "utf-8"),"utf-8");
JS中的写法:
编码:encodeURI(encodeURI(originalStr,"utf-8"),"utf-8");
解码:decodeURI(decodeURI(originalStr, "utf-8"), "utf-8");
注意:以下字符不能被解码 ! @ # $ & * ( ) = : / ; ? + '
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱码问题以及解决方法。
1.JSP页面乱码
这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,
一般来说如果要兼容多种字符编码的话,最好用UTF-8编码。注意,UTF-8最好是要大写。否则有可能会出现未知的异常。
2、数据库乱码
这种乱码会使你插入数据库的中文变成乱码,或者读出显示时也是乱码,解决方法如下:
在数据库连接字符串中加入编码字符集
String Url="jdbc:mysql://localhost/digitgulf?user=root&password=root&useUnicode=true&characterEncoding=UTF8";
并在页面中使用如下代码:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
3、中文作为参数传递乱码
当我们把一段中文字符作为参数传递个另一页面时,也会出现乱码情况,解决方法如下:
在参数传递时对参数编码,比如在JSP中传递,传递前应编码,获取时作相应的解码
这里只写出兼容多种浏览器的方法(IE和火狐等)
JAVA写法:
编码:<%@ page import="java.net.URLEncoder" %>
String name = "中国";
String encodeName = URLEncoder.encode(URLEncoder.encode(name, "utf-8"),"utf-8");
解码:<%@ page import="java.net.URLDecoder" %>
String name = request.getParameter("name");
String decodeName = URLDecoder.decode(URLDecoder.decode(name, "utf-8"),"utf-8");
JS中的写法:
编码:encodeURI(encodeURI(originalStr,"utf-8"),"utf-8");
解码:decodeURI(decodeURI(originalStr, "utf-8"), "utf-8");
注意:以下字符不能被解码 ! @ # $ & * ( ) = : / ; ? + '
- 中文乱码(编码解码)问题的解决办法
- 中文乱码(编码解码)问题的解决办法【转】
- Base64编码解码过程中中文乱码问题
- Java字符的编码解码与乱码问题 Java字符的编码解码与乱码问题
- Java中文乱码解决之道:Java是如何编码解码的
- 解决编码解码乱码问题
- 编码,解码,乱码,问题详解
- 编码,解码,乱码,问题详解
- 编码,解码,乱码,问题详解
- 编码解码,解决乱码问题
- 中文编码乱码问题
- 【我的Java笔记】IO流_操作文本文件存在中文乱码的问题 & 编码和解码
- JAVAIO编码的乱码问题和解决办法
- url中文乱码问题最好的解决办法-URL编码与两次encodeURI
- java编码问题(中文乱码的原因)
- encodeURIComponent编码 URLDecoder.decode解码乱码的问题
- encodeURIComponent编码 URLDecoder.decode解码乱码的问题
- encodeURIComponent编码 URLDecoder.decode解码乱码的问题
- 使用masterpage时,js访问服务端控件
- 写给程序员的一封信
- HTML 关于<hr>标签,虚线
- Android学习及如何利用android来赚钱
- 连接到数据库
- 中文乱码(编码解码)问题的解决办法
- 数字排列问题
- 华容道求解
- Android源码编译后
- 控件自适应图片长宽比例
- ifconfig网络配置
- Dll 加密
- OpenVPN高级路由技术-全面的互通性配置
- 控灯问题