时间:2021-05-24
前言
数据库里面,部分数据表和数据是latin1的,部分数据表和数据是UTF8,还有部分表,表结构是utf8而数据是latin1。
这种奇葩情况,工作了十几年的我,还是第一次碰到。下面说一下,怎么样字符集统一成utf8
1,建一个空数据库
2,把表结构和数据是utf8的表导出,然后直接导入到新的数据库中
3,数据表和数据都是latin1的表,先导出表结构和数据,加上--default-character-set=latin1,将导出文件中,latin1改为utf8,在导入到新的数据库中。
4,表结构是utf8,表数据是latin1的,有二种方法:
4.1,先导出表结构,导入到新的数据库中。导出数据,加上--default-character-set=utf8,因为表结构是utf8,表数据是latin1,入库时已乱码。在将数据导入到新库中。这种方案有缺点,--default-character-set=utf8,导出的数据可能会有丢失,导出的数据,在导入时可能会报错。
4.2,可以通过binary字符集做中转,推荐这种方法
UPDATE user SET user_name = CONVERT(CONVERT(CONVERT(user_name USING latin1) USING binary) USING UTF8);这种方法,省去了导出导入的麻烦,速度比较快,11w条数据,差不多5-6秒
数据库设计这块非常重要,在设计数据库时一定要考虑清楚。地基不牢,大厦迟早会倒的。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
以下的文章主要介绍的是MySQL字符集的基本类型,统一字符集的实际操作方法,等相关内容的介绍,以下就是MySQL字符集的相关内容的描述,希望你会在以后的学习或是
1几种常见字符集在MySQL中,最常见的字符集有ASCII字符集、latin字符集、GB2312字符集、GBK字符集、UTF8字符集等,下面我们简单介绍下这些字
一、查看字符集1.查看MYSQL数据库服务器和数据库字符集方法一:showvariableslike'%character%';方法二:showvariable
1问题:数据库字符集和排序规则不一致最近需要向一个已有的数据库进行扩充(已有数据库是由PHP建的,后来由Java进行扩展),但是出现了新表和旧表无法建立外键的问
我自己测试一下,很多字符变成了‘?'。数据库连接已经是使用了utf8字符集:复制代码代码如下:define("MYSQL_ENCODE","UTF8");mys