数据库
首页 > 数据库> > .net – MySQL没有正确存储外来字符

.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