您的位置:首页 > 数据库 > MySQL

mybatis + mysql + mac navicat 中文乱码问题

2016-12-08 20:54 316 查看

mybatis + mysql + mac navicat 中文乱码问题

mybatis mysql mac navicat 中文乱码问题
mybatis
a配置文件

bwebxml

mysql
建表语句

配置文件

navicat

如果以上任何地方出现中文乱码,请对照如下先后顺序,一一查看。

1.mybatis

a.配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- development:开发模式     work:工作模式 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/youdatabasename?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>

<mappers>
<mapper class="com.youpackage.DataMapper"/>
</mappers>

</configuration>


注意上面的url属性,后面只需要加
characterEncoding=utf-8
,多余的先删掉。

b.web.xml

过滤器配置

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


2.mysql

建表语句:

CREATE TABLE `user` (
`id`........
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci


注意结尾设置utf8,这里使用的是utf8mb4,支持emoji表情。

配置文件

osx的配置文件在
/usr/local/mysql-5.7.16-osx10.11-x86_64/support-files
中,文件名为
my-default.cnf
(windows中为
my.ini
,linux中为

my.cnf
),这个文件不可编辑,首先,复制到文稿中,然后编辑。

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


全文替换即可,如果你的不是utf8mb4,那就把这个改成utf8。

navicat

编辑Connection属性为
Auto
即可。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: