php - MySQL 排序规则和 PHP 字符集冲突

标签 php mysql character-encoding collation

我有一堆从 latin-1 MySQL 数据库中获取的丹麦语文本,在 PHP 中回显时它可以正确显示。当我需要回显其他一些丹麦语字符(这些字符不是从数据库中获取)时,问题就出现了。

我所做的实际上是输出标题

Content-Type: text/html; charset=iso-8859-1

也让非查询字符也能正确显示。

问题是,当我这样做时,查询的字符显示不正确。

最佳答案

仅仅因为数据存储在 latin-1 整理表中并不意味着它是 latin-1 编码的。这是因为当连接 SET NAMES 设置与排序规则相同时,MySQL 不执行任何字符转换。

我怀疑您在 latin1 数据库中存储了一些 UTF8 字符,这使问题变得困惑。

如需更多帮助,请添加以下详细信息:

  • 您设置的 MySQL 连接编码
  • “非查询”字符来自何处的详细信息

关于php - MySQL 排序规则和 PHP 字符集冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5935117/

相关文章:

python - Python 3.6 中的 UnicodeEncodeError

php - 使用 PHP 写入多个(拆分)CSV 文件

php - 使用邮政编码查找两个地方之间的距离(英里)

php - Laravel 如何在表上使用 forelse() ?

PHP - 如何销毁它包含的对象和对象?

php - 根据其 id 将查询的值组合在一起

mysql - 如何使存储过程中的查询了解Spring事务?

php - mysql, php - 字符编码问题`

c# - 如何在 C# 上将 MySQL 查询转换为 JSON

oracle - 如何在一个应用程序中使用不同的 oracle 字符集