我正在制作一个应用程序,在其中获取推文并将其存储在数据库中以供将来编辑,我发现我的本地数据库(使用 XAMPP 运行)将非拉丁字符存储为问号。
例如:
这是我在 IDE (NetBeans) 的调试器中看到的高音扬声器状态:
这是推文中的状态:
这是我数据库中的状态:
我的源代码保存为 UTF-8,fullText
和 editedText
字段都是 varchar(255) utf8_general_mysql500_ci
并且服务器排序规则是utf8mb4_general_ci
。
这里出了什么问题?
最佳答案
SqlServer varchar
仅支持单字节字符集,例如 Latin-1。
如果您可以控制数据库,请尝试使用支持双字节字符集的nvarchar
。
varchar 概述:http://dev.mysql.com/doc/refman/5.5/en/char.html
Latin-1 支持的字符:http://en.wikipedia.org/wiki/ISO/IEC_8859-1
关于MySQL 数据库未正确保存 VARCHAR 字段中的非拉丁字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23171366/