如果你在使用MySQL或MariaDB,不要用“utf8”编码,改用“utf8mb4”。 这里(https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4)提供了一个指南用于将现有数据库的字符编码从“utf8”转成“utf8mb4”。 r ...
分类:
数据库 时间:
2018-06-26 00:46:03
阅读次数:
198
1 . mysql真正的utf8是utf8mb4才是有效的utf8 a). mariaDB的设置方法 b) mysql的设置方法 ...
分类:
数据库 时间:
2018-06-25 12:48:45
阅读次数:
627
###开发规范 开发规范:关键字大写,库名字小写,要有字符集 CREATE DATABSE oldboy CHARSET utf8; ###建议采用第一种 CREATE DATABSE oldboy CHARSET utf8mb4; ###lower_case_table_names begin## ...
分类:
数据库 时间:
2018-06-21 20:14:27
阅读次数:
214
将数据库字符集从utf8修改为utf8mb4修改库的默认字符集alterdatabasetestdefaultcharactersetutf8mb4COLLATEutf8mb4_unicode_ci;修改表的默认字符集ALTERTABLEtestDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;将表中原来的数据转换为utf8mb4ALTERTA
分类:
数据库 时间:
2018-06-13 18:07:19
阅读次数:
216
在进行数据迁移时候报错: 特殊字段太长报错, 现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。 当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你可能会碰到下面这个错误: 错误如下: 解决办 ...
分类:
数据库 时间:
2018-06-11 15:44:08
阅读次数:
760
MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集,理论上原来使用utf8,然后将字符集修改为utf8mb4,也 会不会对已有的utf8编码读取产生任何问题。 做微信小程序的 ...
分类:
数据库 时间:
2018-06-09 18:00:45
阅读次数:
211
最近在写一个爬虫的多线程脚本,在异步插入数据库的时候总有部分数据插入失败,原因竟然是编码的问题。扪心自问,mysql最通用的中文字符编码就是utf-8了,通常情况下,utf-8作为中文编码是司空见惯的,但是还是一如既往的写入数据库失败。 原来MySQL在5.5.3版本之后增加了这个utf8mb4的编 ...
分类:
其他好文 时间:
2018-06-04 14:09:39
阅读次数:
147
如下表结构: 在执行联合查询时,如下2种写法的执行计划有明显差别。 第一种: 第二种: 两者的差别在于order by的表字段不同。 看执行计划: 第一种的执行计划: 第二种的执行计划: rows的差别忽略,因为数据在不停的新增过程中。 第一种方式有主键索引,不需要使用临时表。第二种全表扫描,使用临 ...
分类:
数据库 时间:
2018-06-02 14:00:33
阅读次数:
188
utf-8 时变化长度的编码,储存一个code point 需要1~4个字节. 然而,mysql的utf8只存储最多3个字节per code point. 所以,utf8字符集不能存储所有的unicode code points. 只能从0x000 to 0xFFFF(叫做Basic Multili ...
分类:
数据库 时间:
2018-05-26 20:24:24
阅读次数:
157
一、背景 1、java项目,name含有表情插入到mysql数据库中报错 Incorrect string value: '\xF0\x9F\x92\x8BTi.. 2、解决办法 (1)将字符串中的不合法字符替换掉 (2)修改字段或者表的字符集为 utf8mb4 参考:https://stackov ...
分类:
其他好文 时间:
2018-05-25 14:54:10
阅读次数:
178