如何在mysql中存取utf8mb4编码的字符

1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)2、修改数据库的编码、表的编码、列的编码为utf8mb4 3、在Mysql数据库配置文件(my.ini)中加入如下设置 [client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-...
如何在mysql中存取utf8mb4编码的字符
utf8编码可以支持一到4字节的字符编码,在mysql用我们一般使用utf8编码来处理字符类型,通常情况下都没有问题,但遇到4字节编码的字符,在数据存取的时候就会有问题了。
通常我们可能会得到一个错误或者警告:Incorrect string value: '/xF0/x9D/x8C/x86' for column ...
Mysql 从5.5.3版本开始支持4字节的utf8编码,如果你的Mysql数据库是5.5.3+,按照以下步骤就能解决这个问题,如果版本低于5.5.3,是不是可以考虑升级数据库版本呢?
1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)
2、修改数据库的编码、表的编码、列的编码为utf8mb4
3、在Mysql数据库配置文件(my.ini)中加入如下设置

[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci

重新启动Mysql数据库,确认设置生效

mysql> show VARIABLES like '%char%';+--------------------------+----------------------------------------+| Variable_name | Value |+--------------------------+----------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8mb4 || character_set_system | utf8 || character_sets_dir | /home/app/mysql-5.5.33/share/charsets/ |+--------------------------+----------------------------------------+8 rows in set

4、在获取数据库连接的时候执行sql:set names utf8mb4;我使用的是alibaba的开源数据库连接池程序,在配置文件中增加一行如下配置

<property name="connectionInitSqls" value="set names utf8mb4;" />

重新启动应用程序,问题解决2014-12-21
utf8编码可以支持一到4字节的字符编码,在mysql用我们一般使用utf8编码来处理字符类型,通常情况下都没有问题,但遇到4字节编码的字符,在数据存取的时候就会有问题了。
通常我们可能会得到一个错误或者警告:Incorrect string value: '/xF0/x9D/x8C/x86' for column ...
Mysql 从5.5.3版本开始支持4字节的utf8编码,如果你的Mysql数据库是5.5.3+,按照以下步骤就能解决这个问题,如果版本低于5.5.3,是不是可以考虑升级数据库版本呢?
1、在修改数据库编码前先对数据库备份(虽然utf8mb4兼容utf8,但有备无患)
2、修改数据库的编码、表的编码、列的编码为utf8mb4
3、在Mysql数据库配置文件(my.ini)中加入如下设置

[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci

重新启动Mysql数据库,确认设置生效

mysql> show VARIABLES like '%char%';+--------------------------+----------------------------------------+| Variable_name | Value |+--------------------------+----------------------------------------+| character_set_client | utf8 || character_set_connection | utf8 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8 || character_set_server | utf8mb4 || character_set_system | utf8 || character_sets_dir | /home/app/mysql-5.5.33/share/charsets/ |+--------------------------+----------------------------------------+8 rows in set

4、在获取数据库连接的时候执行sql:set names utf8mb4;我使用的是alibaba的开源数据库连接池程序,在配置文件中增加一行如下配置

<property name="connectionInitSqls" value="set names utf8mb4;" />

重新启动应用程序,问题解决。2015-06-26
mengvlog 阅读 8 次 更新于 2025-07-21 06:09:06 我来答关注问题0
  •  翡希信息咨询 把一个已经按gbk编码的mysql库转成utf-8?

    首先,确保对原数据库进行完整的备份,以防在转换过程中出现数据丢失或其他意外情况。可以使用mysqldump或其他数据库管理工具导出数据库内容。创建新的UTF8编码数据库:在MySQL中创建一个新的数据库,并指定其字符集和排序规则为UTF8。例如,使用以下SQL语句:sqlCREATE DATABASE new_database_name CHARACTER...

  • utf8编码可以支持一到4字节的字符编码,在mysql用我们一般使用utf8编码来处理字符类型,通常情况下都没有问题,但遇到4字节编码的字符,在数据存取的时候就会有问题了。\x0d\x0a通常我们可能会得到一个错误或者警告:Incorrect string value: '/xF0/x9D/x8C/x86' for column ...\x0d\x0aMysql ...

  • 需要在MySQL中指定UTF8字符集。这可以通过在MySQL配置文件中修改默认字符集来实现。打开my.cnf文件,修改如下配置:[client]default-character-set=utf8 [mysql]default-character-set=utf8 [mysqld]character-set-server=utf8 保存文件并重启MySQL服务。之后,对于所有新建的数据库和表,MySQL会使用UTF8字...

  •  誉祥祥知识 如何设置可以使mysql储存越南文与中文

    为了使MySQL能够存储越南文与中文,首先需要修改MySQL的字符集设置。可以通过两种方式进行设置:修改配置文件或使用命令行。如果选择修改配置文件,打开MySQL的my.ini配置文件,在文件中加入以下内容:character_set_server = utf8。然后重启MySQL服务。另一种方式是使用命令行进行修改。进入命令提示符,进入MySQ...

  •  翡希信息咨询 ubuntukylin_mysql5.7基础 将mysql的默认编码修改为utf8

    一、停止MySQL服务 执行命令:sudo service mysql stop,确保MySQL服务处于关闭状态。二、编辑MySQL配置文件 使用文本编辑器打开MySQL配置文件。在文件中找到与字符集相关的配置段落,并修改以下配置项:character_set_client = utf8character_set_connection = utf8character_set_server = utf8character_set_...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部