【数据存入服务器数据库乱码问题】

【数据存入服务器数据库乱码问题】


最近写了个小项目,结果保存到mysql的数据只要是中文全部乱码了。
经过查阅资料发现jdbc连接数据库时少了一句characterEncoding=utf8
如果没写这个是本地的话毫无问题,但是数据存入服务器时就乱码了。

  • 数据连接配置文件,如果是.properties文件要把&改成&,如果是.xml文件要使用&,否则写入数据到数据库中会乱码:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url = jdbc.url=jdbc:mysql://localhost:3306/enroll?useUnicode=true&autoReconnect=true&characterEncoding=utf8

下面再总结下还有哪些问题容易出现服务器保存数据乱码问题。

  • 当写入数据到数据库中发生乱码时,需要注意tomcat服务器的配置文件。
    具体目录在Tomcat安装目录/conf/server.xml文件:
 <Connector URIEncoding="UTF-8" connectionTimeout="20000" 
	 port="8080" protocol="HTTP/1.1" redirectPort="8443" 
	 useBodyEncodingForURI="true" />

当然现在的tomcat几乎默认都是这个,所以一般没必要改动,但是还是有必要确认下。

  • jsp文件的编码格式:

jsp文件一定要设置编码格式。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type"content="text/html;charset=utf-8"/>
  • 安装数据库时记得设置指定的编码格式utf8.如果忘记设置可以在安装目录:
    mysql的安装目录中的my.ini文件设置.
default-character-set=utf8
  • 建立数据库时和数据库表时设置成utf8
    当然现在mysql默认也是utf-8
CREATE DATABASE `mydb` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

你可能感兴趣的:(杂文归纳,MySQL)