本文主要是介绍mybatis + mysql + mac navicat 中文乱码问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mybatis + mysql + mac navicat 中文乱码问题
- mybatis mysql mac navicat 中文乱码问题
- mybatis
- a配置文件
- bwebxml
- mysql
- 建表语句
- 配置文件
- navicat
- mybatis
如果以上任何地方出现中文乱码,请对照如下先后顺序,一一查看。
1.mybatis
a.配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//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
即可。
这篇关于mybatis + mysql + mac navicat 中文乱码问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!