JavaWeb中3种中文乱码问题的解决方法
2015-10-02 17:48
477 查看
最近在处理MySQL数据库时,出现了中文乱码的问题,而且不只是一种问题,在网上查了好多教程才解决。在JavaWeb中会有很多中文乱码问题,解决方法也有好多,现在暂时写下我学会的3种中文乱码的解决方法。
工具:
Eclipse+tomcat8+MySQL+MySQL WorkBench
检查方法:直接在请求界面将文字打印出来,出现乱码即为该问题。
解决方法:在jsp页面中添加如下代码:
第二种、数据库存储中文问题
检查方法:在workbench中直接向MySQL中写入数据,检查数据库中的内容,如果为乱码为该问题(MySQL中my.ini已经配置为utf-8)。
解决方法:在创建表时在类型后加入编码:
第三种、数据库导入中文问题
如果不是第二种问题,但是从页面用JDBC写入数据后,数据库中的数据为乱码应该是该问题。
解决方法:在连接数据库时加上下面的部分代码:
还有其他的一些问题,比如在jsp文件中限制HTML文件的编码:
还有其他的使用过滤器的方法,lz了解的还不够暂时不写了,以上的3中问题如果有问题尽管提出来啊。谢谢!!
工具:
Eclipse+tomcat8+MySQL+MySQL WorkBench
开始正文:
第一种、不同页面间获取请求中文乱码问题检查方法:直接在请求界面将文字打印出来,出现乱码即为该问题。
解决方法:在jsp页面中添加如下代码:
<% request.setCharacterEncoding("UTF-8"); %>
第二种、数据库存储中文问题
检查方法:在workbench中直接向MySQL中写入数据,检查数据库中的内容,如果为乱码为该问题(MySQL中my.ini已经配置为utf-8)。
解决方法:在创建表时在类型后加入编码:
name VARCHAR(10)COLLATE UTF8_UNICODE_CI NOT NULL
第三种、数据库导入中文问题
如果不是第二种问题,但是从页面用JDBC写入数据后,数据库中的数据为乱码应该是该问题。
解决方法:在连接数据库时加上下面的部分代码:
Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db?useUnicode=true&characterEncoding=utf-8","root","");
还有其他的一些问题,比如在jsp文件中限制HTML文件的编码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
还有其他的使用过滤器的方法,lz了解的还不够暂时不写了,以上的3中问题如果有问题尽管提出来啊。谢谢!!
相关文章推荐
- Java中的堆和栈
- java简单计算器
- java学习笔记----枚举测试题
- JAVA设计模式之单件模式
- java15:面向对象
- 【因子算法】——求一个数的因子、质因子、求两个数的公因子
- java中的io机制
- Java堆和栈的区别 经典总结(转载)
- Java初学者都必须理解的七大问题
- 如何在Java中使用双重检查锁实现单例
- Java并发编程:volatile关键字解析 和双重检查(Double-Check)
- Java 字符串和整型的转换
- JAVA设计模式之工厂模式
- Java进阶(一)JDBC
- 错误: 找不到或无法加载主类
- JAVA SHH框架搭建(多图)
- 关于spring中<context:component-scan base-package="" />写法
- Java 序列化相关
- java.util.Comparator用法
- Java数据类型和MySql数据类型对应表