MySQL UTF-8 编码

标签 mysql utf-8

我对数据库的字符编码感到很困惑。

我用 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/

相关文章:

php - 在 mysql 查询中按希伯来语而不是英语按列排序

jsp - 显示非英文字符 ??在 Action 类

java - 如何使用 RESTeasy 从多部分/表单数据请求中获取 UTF-8 格式的文本/xml?

MYSQL 和 Symfony 创建 ManyToMany 关联时出现 errno 150

php - 如何为表名绑定(bind)值?

当查询太多行时,MySQL 查询返回奇怪的格式错误的结果

python - 将大量文本转换为 utf-8

php - 将 SQL 查询转换为查询生成器样式

mysql - 在 Latin1 数据库中存储 UTF8 文本有什么后果?

hibernate - 在JSF2.0、Hibernate、MySQL中启用UTF-8字符集