mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)
普通的UTF8编码是不支持emoji表情插入的,会报异常:
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xB0\xE5\x9C...' for column 'name' at row 1
将表字段的编码单独改成utf8mb4,即可支持emoji表情的插入。
修改的sql语句为
mysql> alter table user modify column name varchar(255) character set utf8mb4;
下面整理了常用的编码相关命令:
查看数据库默认字符集
mysql> show variables like 'character%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| 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 | C:\Program Files\MySQL\MySQL Server 5.6\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
修改默认编码
mysql> set character_set_database=utf8;
默认编码含义:
character-set-server/default-character-set:服务器字符集,默认情况下所采用的。
character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码
character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。
注:
1)创建数据库时,除非明确指定,这个数据库的字符集被缺省设定为character_set_server;
2)选定数据库时,character_set_database 被设定为这个数据库默认的字符集;
3)在数据库中创建表时,表默认的字符集被设定为 character_set_database;
4)当在表内新增列时,除非明确指定,否则此列缺省的字符集就是表默认的字符集
JDBC连接语句
URL=jdbc:mysql://localhost:3306/abs?useUnicode=true&characterEncoding=字符集
以指定编码创建数据库
mysql> CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci;
查看当前数据库编码
mysql> status;
--------------
C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql.exe Ver 14.14 Distrib 5.6.35, for Win64 (x86_64) Connection id: 12
Current database: mysql
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.6.35-log MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 47 min 12 sec Threads: 11 Questions: 1811 Slow queries: 0 Opens: 112 Flush tables: 1 Open tables: 101 Querie
s per second avg: 0.639
--------------
修改指定数据库编码
mysql> alter database mydb character set utf-8;
查看表的编码(建表语句)
mysql> show create table user;
查看表结构(完整的列属性)
mysql> show full columns from User;
mysql数据库字符集相关操作(修改表字段编码,使其支持emoji表情)的更多相关文章
- PHP对MySQL数据库的相关操作
一.Apache服务器的安装 <1>安装版(计算机相关专业所用软件---百度云链接下载)-直接install<2>非安装版(https://www.apachehaus.com ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- MySQL数据库字符集由utf8修改为utf8mb4一例
对于mysql 5.5 而言,如果不设定字符集,mysql默认的字符集是 latin1 拉丁文字符集: 为了统一管理和应用开发的方便,一般都会统一将操作系统,客户端,数据库各方面的字符集都设置为 ut ...
- MySQL数据库---记录相关操作
序 表中记录的相关操作一共四种:插入,更新,删除.查询.其中使用最多,也是最难的就是查询. 记录的插入 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3… ...
- MySql数据库的相关操作
SQL(Structred Query Language)结构化查询语言:和数据库交互的语言,进行数据库管理的语言. 一.数据库的操作: 1.查询所有数据库: show databases; 2.创建 ...
- mysql数据库内容相关操作
第一:介绍 mysql数据内容的操作主要是: INSERT实现数据的插入 UPDATE实现数据的更新 DLETE实现数据的删除 SELECT实现数据的查询. 第二:增(insert) 1.插入完整的数 ...
- linux下安装mysql数据库与相关操作
如下命令都是用root身份安装,或者在命令前加上sudo 采用yum安装方式安装 yum install mysql #安装mysql客户端 yum install mysql-server #安装m ...
- mysql 数据库的相关操作
#coding=gbk #数据库的连接语句 import pymysql try: conn=pymysql.connect( host='127.0.0.1', port=3306, user='r ...
- 使用SQL语句修改Mysql数据库字符集的方法
使用SQL语句修改Mysql数据库字符集的方法 修改库: alter database [$database] character set [$character_set] collate [$c ...
随机推荐
- C#中准确跟踪错误异常所在的文件位置方法
准确跟踪错误异常所在的文件位置方法是在发布改文件所在的DLL时候,把对应的pdb文件也一同发布. pdb文件是:PDB全称Program Database,不知道中文翻译叫什么.相信使用过VS的人对于 ...
- Unity读Excel 输出PC端(Windows)后不能读取的问题
问题:在Unity中用ExcelDataReader读Excel时,在编辑器模式下可以正常读取,但是在导出PC端app后读Excel却会报空,Excel读取失败. 要点: 1.把库文件Excel.dl ...
- 【Unity/Kinect】手势识别Gesture
在Unity的AssetStore官方商店下载Kinect v2 Examples案例包,参考KinectDemos/GestureDemo这个文件夹下的例子. 自定义一个类,实现KinectGest ...
- 织梦dedecms安全设置详情
第一.安装的时候数据库的表前缀,最好改一下,不用dedecms默认的前缀dede_,可以改成ljs_,随便一个名称即可. 第二.后台登录开启验证码功能,将默认管理员admin删除,改成一个自己专用的, ...
- vue element-ui 的奇怪组件el-switch
https://segmentfault.com/q/1010000010008343
- mybatis generator 为数据库保留字段 转义
为order 添加转义符号“ ` ” `order` <property name="autoDelimitKeywords" value="true"& ...
- CentOS7单独安装Apache Bench压力测试工具
用于并发测试. 1.安装 # need to run ab,apache portable runtime yum install apr-util # yum install yum-utils # ...
- 卷积神经网络(Convolutional Neural Network, CNN)简析
目录 1 神经网络 2 卷积神经网络 2.1 局部感知 2.2 参数共享 2.3 多卷积核 2.4 Down-pooling 2.5 多层卷积 3 ImageNet-2010网络结构 4 DeepID ...
- 一个第三方Dart库导致的编译错误!
今天学习flutter过程中,突然程序不能运行了,无论是命令行,抑或Android Studio,还是Idea都是出现同样错误,如下: Running .5s Launching lib\main.d ...
- Spring源码导入IDEA
导入Spring 4.3.8的源码,JDK的版本1.8以上:因为 1.下载Spring源码 方法一: (1)下载并安装GIt,下载地址:https://git-scm.com/download/win ...