网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

MySQLJDBC表情编码配置

在MySQL中,表情符号需要4个字节的空间存储,因此如果某个列需要兼容表情存储,需要设置该列的字符集为utf8mb4:

成都创新互联公司专注于企业成都全网营销、网站重做改版、郯城网站定制设计、自适应品牌网站建设、H5页面制作成都做商城网站、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为郯城等各大城市提供网站开发制作服务。

1  ALTER TABLE `db`.`tablename` 

2  CHANGE COLUMN `content` `content` VARCHAR(45) CHARACTER SET 'utf8mb4' NULL DEFAULT NULL COMMENT '' ;

另外,根据Mysql的文档:

Setting the Character Encoding

The character encoding between client and server is automatically detected upon connection. You specify the encoding on the server using the character_set_server for server versions 4.1.0 and newer, and character_set system variable for server versions older than 4.1.0. The driver automatically uses the encoding specified by the server. For more information, see Server Character Set and Collation.

For example, to use 4-byte UTF-8 character sets with Connector/J, configure the MySQL server with character_set_server=utf8mb4, and leave characterEncoding out of the Connector/J connection string. Connector/J will then autodetect the UTF-8 setting.

To override the automatically detected encoding on the client side, use the characterEncoding property in the URL used to connect to the server.

也就是说,没办法在JDBC客户端直接配置编码方式,因此需要修改mysql服务器的如下属性:

1  set  character_set_server=utf8mb4

要永久生效,在my.ini配置文件中配置:

1  character_set_server=utf8mb4

同时,JDBC Url的characterEncoding去掉:

1  datasource.jdbcUrl=jdbc:mysql://127.0.0.1:4360/mydb?useUnicode=true&autoReconnect=true&allowMultiQueries=true

总结一下,为了在Java端支持表情,需要提供4个字节存储的编码方案,具体步骤如下: 

1) 设置对应列的编码为utf8mb4

2) 设置服务器编码为utf8mb4

3) JDBC Url中的characterEncoding不配置。 

(该属性不支持utf8mb4,配置了非utf8mb4将导致无法写入表情,因此要留空,不配置)


网站栏目:MySQLJDBC表情编码配置
文章源于:http://bjjierui.cn/article/jedpij.html

其他资讯