jsp页面写入mysql数据库时汉字乱码
来源:互联网 发布:手机windows live ID 编辑:程序博客网 时间:2024/05/17 13:41
自己在用jsp把中文写入mysql的时候出现乱码,原因很简单就是编码格式的问题。通过检查和搜集资料发现乱码的原因主要分为以下几类。
一.jsp页面数据编码格式
一般通过在页面上方设置编码格式即可,无需做过多的操作。(设置为UTF-8,GBK也可以,UTF-8几乎支持所有国家的语言)
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
二.servlet页面获取和传值
在servlet页面设置response和request编码格式
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setCharacterEncoding("UTF-8");request.setCharacterEncoding("UTF-8");// 获取表单中参数String sname = request.getParameter("sname");//中文不乱码//数据库操作,以及转发}
三.数据库编码格式
查看并修改数据库编码格式。
方式一。通过命令窗(比较麻烦,建议使用方式二)
百度有相关教程:http://jingyan.baidu.com/article/03b2f78c68b0c15ea237ae8d.html
方式二.通过navicat for mysql工具修改
打开软件,连接数据库,右键点击打开连接->找到你使用的数据库,右键点击数据库属性,可看到如图下,修改为图中所示。
选择你使用的表,右键点击表表讯息可看到下图,查看右边整理是为utf8_bin 如果不是即点击设计表,选择选项,如下图,设置为图中编码格式。
四.还有就是JDBC建立数据库链接时最好设置好编码格式
(我的项目就是由于这个导致的乱码)
下面是我的JDBC代码,可以直接使用
重点是URL设置为
public static final String url = "jdbc:mysql://127.0.0.1/mysql?useUnicode=true&characterEncoding=UTF-8";
JDBC代码为package com.JDBC;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class DateBase { public static final String url = "jdbc:mysql://127.0.0.1/mysql?useUnicode=true&characterEncoding=UTF-8"; public static final String driver = "com.mysql.jdbc.Driver"; public static final String username = "root"; public static final String password = "msk"; public Connection conn=null; public Connection getConn() { try { Class.forName(driver); //classLoader,加载对应驱动 conn = (Connection) DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; }
通过这些步骤,应该可以解决您的乱码问题。如果有用的话,欢迎点赞,关注!!!
public static final String url = "jdbc:mysql://127.0.0.1/mysql?useUnicode=true&characterEncoding=UTF-8";JDBC代码为
package com.JDBC;import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class DateBase { public static final String url = "jdbc:mysql://127.0.0.1/mysql?useUnicode=true&characterEncoding=UTF-8"; public static final String driver = "com.mysql.jdbc.Driver"; public static final String username = "root"; public static final String password = "msk"; public Connection conn=null; public Connection getConn() { try { Class.forName(driver); //classLoader,加载对应驱动 conn = (Connection) DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; }
通过这些步骤,应该可以解决您的乱码问题。如果有用的话,欢迎点赞,关注!!!
阅读全文
1 0
- jsp页面写入mysql数据库时汉字乱码
- 写入服务器的mySql数据库汉字时乱码
- 【MySql】JSP写入MySQL数据库乱码问题
- jsp页面写入中文到mysql时出现了乱码
- jsp页面写入中文到mysql时出现乱码 问题解决
- JSP页面写入MYSQL中文乱码问题
- jsp写入mysql数据库中文乱码解决方案
- JSP写入mysql数据库乱码问题
- MySql 写入数据时汉字乱码
- Mysql 汉字写入乱码解决
- JSP页面写入中文到数据库乱码问题
- jsp页面写入中文到mysql时出现了乱码(转)
- JSP向MySQL数据库中写入中文字符乱码问题
- jsp+mysql中遇到中文写入数据库乱码问题
- JSP页面汉字不乱码,提交数据时中文汉字乱码
- 页面,控制台不乱码,写入数据库乱码
- mysql数据库中汉字乱码
- 解决jsp页面汉字乱码问题
- win7 x64下安装mysql-5.5.20-winx64未响应问题解决
- MongoDB 的基本操作
- Python---set常用方法
- JVM内存区域划分
- (195)基本材质概念
- jsp页面写入mysql数据库时汉字乱码
- C/C++求职者必备的20道面试题
- android源码编译
- 芯片测试太耗时?新一代TetraMAX II工具将运行速度提高一个数量级
- Linux中ACL权限设置
- Android状态栏微技巧,带你真正理解沉浸式模式
- MIT 6.00.1x 笔记
- 通俗直观地解释为什么svm支持向量机可以假设离判决面最近的点在wx+b=±1上
- Python 边做边学 8.2 工具类--配置文件工具(CfgUtil)