当前位置: 首页 > 面试题库 >

如何将数据库中的所有表更改为UTF8字符集?

叶冥夜
2023-03-14
问题内容

我的数据库不在UTF8中,我想将所有表都转换为UTF8,我该怎么做?


问题答案:
mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset dbname > dump.sql
sed -r 's/latin1/utf8/g' dump.sql > dump_utf.sql
mysql --user=username --password=password --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql --user=username --password=password --default-character-set=utf8 dbname < dump_utf.sql


 类似资料:
  • 问题内容: 我有一个约有100列的遗留表(90%可为空)。在这90列中,我要删除所有空字符串并将其设置为null。我知道我可以: 但这很乏味且容易出错。必须在整个桌子上做到这一点吗? 问题答案: 这仍然是手动完成的,但比您要痛苦的要少一些,因为它不需要您为每一列发送查询。除非您想编写脚本麻烦,否则在执行此类操作时必须忍受一定的痛苦。 编辑:增加了小号

  • 我在DB里有几年的数据,99%是拉丁字符。最近,我在mysql连接后添加了以下内容: 现在数据库中所有由亚洲、希伯来等字符组成的现有数据都不再可读,并且显示为垃圾数据。 我如何修复DB中的数据,使其具有utf8字符集的可读性? 表字符集始终为UTF8。唯一改变的是这样一个事实,即在连接期间(如上图所示)设置了一个字符集,而在该行不存在之前。 表的创建相当基本,排序规则是utf8_general_c

  • 问题内容: 我有一个机器人脚本,该脚本可以从sql文件中插入一些sql语句;其中一些语句包含utf8字符。如果我使用navicat工具将此文件手动插入数据库,一切都很好。但是,当我尝试使用机器人框架的数据库库执行此文件时,utf8字符会发疯! 这是我的utf8包含的sql语句: 这是我使用数据库库的方式: 这是我在数据库中得到的: 我尝试直接使用执行SQL文件,但仍然失败!原始库中似乎有问题。这是

  • 问题内容: 直到今天,我才意识到我的PHP脚本中缺少此功能: 我所有的表都是InnoDB,归类为“ utf8_unicode_ci”,我所有的VARCHAR列也均为“ utf8_unicode_ci”。我有我的PHP脚本,和我所有的PHP文件编码为UTF-8。 因此,直到现在,每次我用变音符号“插入”某些东西时,例如: 在这种情况下,“名称”内容为:。 由于我固定了PHP和MySQL之间的字符集,

  • 问题内容: 我在Windows 7上,对这个数据库东西有些陌生。我尝试在Google上搜索如何将时区从我的系统更改为UTC,但是文档有些高级,因此我不太确定如何更改此字段。 问题答案: 在my.ini文件的[mysqld]部分下,添加以下行: 重新启动服务器。您还可以在运行时从命令行使用以下命令进行设置 MySql的文档

  • 问题内容: 我的数据库确实发生了一些奇怪的事情。我正在使用PHP将数据插入数据库中,并且在过去的两年中我一直在这样做,没有任何问题。当客户在我的网站上付款时,我会将交易中的所有数据存储在数据库中。每个交易都有一个唯一的“ transaction_id”。当我将付款信息插入数据库时​​,除“ transaction_id”外,所有信息均已正确插入。所有交易均被赋予“ 4294967295”的“ tr