我试图调试讨厌的utf-8问题,并且不知道从哪里开始。在Drupals中没有打印出UTF8字符HTML
一个页面包含单词'categorieà«n',这应该是categorieën。很明显UTF-8出了问题。所有这些多边字符都会发生这种情况。我已经在UTF8上扫描了gazillion主题,但他们大多覆盖了基础知识,而不是这种情况,一切似乎都配置正确,但显然不是。
这些页面由Drupal提供,来自MySQL数据库。
数据库已被sql-dumping和-importing trough phpmyadmin迁移(不是我)。很有可能出现问题,因为之前没有问题。并且因为问题只出现在较旧的导入项目上。编辑这些项目或插入新项目并手工修复错误编码的字符可修复问题。虽然我看不到数据库中的差异。
- 内容重新编辑槽Drupal没有这个问题。
- 当在CLI中使用MySQL时,我可以读出文本并获得正确的字符。在呈现“正确”和“不正确”字符的文章上。
- 的表有整理
utf8_general_ci
- 头似乎有正确的编码发送:
Vary Accept-Encoding
和Content-Type text/html; charset=utf-8
- HTML头包含
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- HTTP头告诉我,有一个其间光油代理。这可能导致UTF8转换/破坏
- 内容服务Gzipped,在Drupal正常,我从来没有见过这个UTF8 issie wrt gzip,但你永远不知道。
看来进口是罪魁祸首,我想知道 a)出了什么问题。 b)为什么我不能在“错误”和“正确”字符之间看到mysql cli客户端的不同 c)如何修复数据库,或者从哪里开始查看和学习如何解决问题。