我有一堆从 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/