菜单

变动数据库编码命令

2019年6月27日 - sqlite

改变数据库编码命令

CREATE DATABASE `test`  DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;

mysql> create database daily default character set utf8mb4 collate utf8mb4_unicode_ci;

 

原文:http://blog.csdn.net/woslx/article/details/49685111

修改字符集的章程,正是应用mysql的命令

utf-8编码或然2个字节、3个字节、4个字节的字符,可是MySQL的utf8编码只辅助3字节的数量,而运动端的表情数据是4个字节的字符。假若直白往采纳utf-8编码的数据库中插入表情数据,Java次第团长报SQL万分:

 

java.sql.SQLException: Incorrect string value:
‘\xF0\x9F\x92\x94’ for column ‘name’ at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) 
at
com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1662) 
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1581)

mysql> SET character_set_client = utf8 ;

mysql> SET character_set_connection = utf8 ;

使用 mysql> SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码均已改成utf8

+————————–+———————————+

| Variable_name            | &#118alue                           |

+————————–+———————————+

| character_set_client     | utf8                            |

| character_set_connection | utf8                            |

| character_set_database   | utf8                            |

| character_set_filesystem | binary                          |

| character_set_results    | utf8                            |

| character_set_server     | utf8                            |

| character_set_system     | utf8                            |

| character_sets_dir       | D:”mysql-5.0.37″share”charsets” |

+————————–+———————————+



mysql> SHOW VARIABLES LIKE ‘collation_%’;

+———————-+—————–+

| Variable_name        | &#118alue           |

+———————-+—————–+

| collation_connection | utf8_general_ci |

| collation_database   | utf8_general_ci |

| collation_server     | utf8_general_ci |

+———————-+—————–+

能够对4字节的字符举办编码存款和储蓄,然后抽取来的时候,再拓展解码。可是如此做会使得其余利用该字符的地点都要进行编码与解码。

 

utf8mb4编码是utf8编码的超集,兼容utf8,并且能积存4字节的神情字符。 
选拔utf8mb4编码的平价是:存款和储蓄与获取数据的时候,不用再思念表情字符的编码与解码难题。

http://www.bkjia.com/Mysql/487308.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/487308.htmlTechArticle更改数据库编码命令
修改字符集的点子,就是利用mysql的通令 mysql SET character_set_client =
utf8 ;mysql SET character_set_connection = utf8 ;使用 mysql
SHO…

改换数据库的编码为utf8mb4:

1. MySQL的版本

utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请进级到较新本子。

2. MySQL驱动

5.1.34可用,最低无法低于5.1.13

3.修改MySQL配置文件

修改mysql配置文件my.cnf(windows为my.ini) 
my.cnf一般在etc/mysql/my.cnf地方。找到后请在以下三片段里增多如下内容: 
[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 
init_connect=’SET NAMES utf8mb4′

4. 重启数据库,检查变量

SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR
Variable_name LIKE ‘collation%’;

Variable_name Value
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
collation_connection utf8mb4_unicode_ci
collation_database utf8mb4_unicode_ci
collation_server utf8mb4_unicode_ci

collation_connection 、collation_database
、collation_server是怎么样无妨。

但必须保障

系统变量 描述
character_set_client (客户端来源数据使用的字符集)
character_set_connection (连接层字符集)
character_set_database (当前选中数据库的默认字符集)
character_set_results (查询结果字符集)
character_set_server (默认的内部操作字符集)

那多少个变量必须是utf8mb4。

5. 数据库连接的安顿

数据库连接参数中: 
characterEncoding=utf8会被自动识别为utf8mb4,也得以不加那个参数,会自动检查实验。 
而autoReconnect=true是必须抬高的。

6. 将数据库和已经济建设好的表也转换到utf8mb4

改动数据库编码:ALTE昂科雷 DATABASE caitu99 CHARACTEXC60SET utf8mb4 COLLATE utf8mb4_general_ci;

更动表编码:ALTE逍客 TABLE TABLE_NAME CONVERT TO CHARACTER
SET utf8mb4 COLLATEutf8mb4_general_ci
如有供给,还足以改变列的编码

http://www.cnblogs.com/shihaiming/p/5855616.html

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图