查看自己mysql上的默认字符集
1.在终端连接mysql后输入SQL语句
show variables like '%char%';
如果出现下方编码集值为lantin1,则需要修改。
永久修改默认字符集为utf-8
将如下内容拷贝到文件中并命名为my.cnf :
[client]
default-character-set=utf8
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
#skip-networking
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
2.将my.cnf 拷贝到 /etc 目录下(在spotlight中输入/etc)
并重启mysql(在设置里面)
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
但是仍然没成功的时候,那么,重点来了,/etc/的路径应该是:
cd /private/etc/
然后才是,新增一个 my.cnf 文件,然后写入命令保存退出,重启mysql
ps:如果无法保存,使用
sudo vim my.cnf
3.在终端输入
show variables like '%char%';
使用MySQL的模糊查询的过程中,LIKE后面加中文条件总是输出null , 发现没有将中文转码,解决方法如下:
private String url = "jdbc:mysql://10.0.9.56:3306/ejvideo?useUnicode=true&characterEncoding=UTF-8";
private String user = "video";
private String password = "video123";
即在数据库的后面加上一段转码字符即可