php - 字符串存储在数据库中的错误字符集中

标签 php mysql

我对存储在数据库中的 varchar 元素有疑问。 为了以正确的方式打印,它们被存储在我无法理解的奇怪的折叠中,请参见以下示例: Data Stored incorrectly

您可以注意到字符串中的 €™。应该是“è”。 ' 和“à”也会发生同样的情况。如何更改数据库的字符集以便正确显示 varchar 元素? 当前设置为:

存储引擎:MyISAM

排序规则:latin1_swedish_ci

非常感谢。我真的需要帮助。我尝试了很多排序规则,但似乎没有任何效果。

最佳答案

据我所知,整理是为了排序和比较,而不是记录。

您可能正在寻找编码,因为它负责字符本身。

我认为您的问题是编码错误。在将其设置为 UTF8 之前,请将排序规则更改为 utf8_unicode_ci。

请尝试运行此命令:

SET NAMES utf8;

这应该可以解决您的新记录问题。旧的将保持不变。

关于php - 字符串存储在数据库中的错误字符集中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44220687/

相关文章:

php - 日期验证以比较 php 中的两个日期

mysql - 基于部分字符串值限制 MYSQL 查询的结果

MySQL:大表、慢查询和索引

php - 如何在 cakephp 中编写一个 mysql 查询来连接 3 个表

php - 让 SQL 表字段自动链接到查找表

javascript - 为什么 2.4 mod 0.8 返回 0.8

php - MySQL SELECT 使用 PHP 变量

mysql - 循环查询,即使找到匹配项

MySQL 每个键获取 n 行

mysql 从选择中选择