使用SQLite,这很好用.但是,当我切换到MySQL时,而不是???我得到???.该列是TEXT或有时是VARCHAR(255)(在这种情况下我相信它的VARCHAR(255)).
如何让MySQL正确保存这些字符?
需要将表/列字符集设置为支持UTF8等多字节的版本.
您可以通过执行a告诉当前表字符集
mysql> SHOW CREATE TABLE tbl_Name;
Run Code Online (Sandbox Code Playgroud)
它可能没有显示任何情况,它使用你my.cnf中定义的默认值
要更改表运行中的字符集:
mysql> ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)
如果您有大量数据或无法删除数据并重新开始,我不建议这样做.转换需要首先删除不良数据.
我仔细阅读了这篇文章,看起来很深入,而且从我能记住的事情来看,这个非常准确.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语句的末尾
| 归档时间: |
|
| 查看次数: |
2306 次 |
| 最近记录: |