我对数据库的字符编码感到很困惑。
我用 UTF8_general_ci 配置了数据库。但是如果我尝试用西类牙语保存一些东西,比如“león”,内容 si 被破坏了然后修复它我必须在保存之前使用 utf8_decode 并且当我阅读时我使用 utf8_encode。
那么西类牙语是正确的。
现在我有俄罗斯用户用西里尔字母书写,他的内容被破坏了(带有 ????????)
我想,如果我不使用 utf8_decode,西里尔文将是正确的(或者我不知道),但西类牙文将是不正确的。
如何正确保存所有语言?我很困惑。
最佳答案
尝试将此 sql 查询作为第一个语句运行:
set names 'utf8';
这会将 MySQL 连接的编码设置为 UTF-8 并防止双重编码。
关于MySQL UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10452013/