.net – MySQL没有正确存储外来字符
作者:互联网
使用SQLite,这很好用.但是,当我切换到MySQL,而不是クイン我得到???.该列是TEXT或有时是VARCHAR(255)(在这种情况下我相信它的VARCHAR(255)).
如何让MySQL正确保存这些字符?
解决方法:
需要将表/列字符集设置为支持UTF8等多字节的版本.
您可以通过执行a告诉当前表字符集
mysql> SHOW CREATE TABLE tbl_Name;
它可能没有显示任何情况,它使用你my.cnf中定义的默认值
要更改表运行中的字符集:
mysql> ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
如果您有大量数据或无法删除数据并重新开始,我不建议这样做.转换需要首先删除不良数据.
我仔细阅读了这篇文章,看起来很深入,而且我记得我自己的战斗非常准确. http://www.oreillynet.com/onlamp/blog/2006/01/turning_mysql_data_in_latin1_t.html
另外,以UTF-8创建新表时,将CHARACTER SET utf8 COLLATE utf8_general_ci附加到CREATE TABLE语句的末尾
标签:cjk,mysql,net,utf-8 来源: https://codeday.me/bug/20190726/1546146.html