我从一个旧的filemaker程序中导入了一些数据到mysql数据库中,我注意到一些奇怪的字符。最好的办法是什么?
cngwdvgl1#
似乎导入mysql数据库的数据与在mysql中构建表时设置的字符集(排序规则)不同。我猜那些“奇怪的人物”是个表情符号。例如在utf8字符集中,没有定义。但他们会的。简单的回答是,找出数据最初是在哪个字符集中生成的,然后用相同的字符集构建新的数据表。mysql工作台在mysql工作台中,右键单击模式,然后单击有问题的表,再单击扳手,就可以轻松地操作字符集。sql语法或者通过类似的方式:
ALTER TABLE YourTableName CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE YourTableName modify name text charset utf8mb4;
3pvhb19x2#
我相信你的varchar长度已经满了。例如:字段varchar(10)并将“字符串超过10个字符”,这可能会导致字符串上出现垃圾。
2条答案
按热度按时间cngwdvgl1#
似乎导入mysql数据库的数据与在mysql中构建表时设置的字符集(排序规则)不同。
我猜那些“奇怪的人物”是个表情符号。例如在utf8字符集中,没有定义。但他们会的。
简单的回答是,找出数据最初是在哪个字符集中生成的,然后用相同的字符集构建新的数据表。
mysql工作台
在mysql工作台中,右键单击模式,然后单击有问题的表,再单击扳手,就可以轻松地操作字符集。
sql语法
或者通过类似的方式:
3pvhb19x2#
我相信你的varchar长度已经满了。
例如:字段varchar(10)并将“字符串超过10个字符”,这可能会导致字符串上出现垃圾。