【问题标题】:Umlauted Characters are not properly shown after updating TYPO3 to 6.2将 TYPO3 更新到 6.2 后未正确显示变音字符
【发布时间】:2014-12-31 08:53:02
【问题描述】:

我已将我的 TYPO3 网站从 4.1 更新到 6.2.9。现在变音字符 [德语字母] 无法正确显示。有什么想法可以解决这个问题。

【问题讨论】:

  • 您检查过文档吗? wiki.typo3.org/UTF-8_support(请注意上面的注释,适用于您的情况)
  • 您能简要介绍一下问题所在吗?我检查了 localconf 文件,我没有设置任何变量,例如 $TYPO3_CONF_VARS['BE']['forceCharset']
  • 您基本上需要确保所有 Apache 和 php.ini 都设置为 utf-8,并且您的 mysql 数据库为 utf-8 格式(您可以使用SHOW TABLE STATUS 来检查排序规则)。我链接的那个页面提供了所有需要的信息,但它超出了 Stack Overflow 可以接受的范围,因为它是软件包的配置问题,而不是编程问题
  • 你的数据库怎么样?这是 UTF-8(表和列?)
  • @biesior: 这是 utdf-8-general ci

标签: typo3 typo3-6.1.x typo3-6.2.x typo3-4.5


【解决方案1】:

从 4.1 升级到 4.2 时,我遇到了类似的问题。以下段落是我博客中的注释。希望对您有所帮助。

从 TYPO3 4.1(及更早版本)更新到 4.2(及更高版本)

4.1 中的某些 DB 字段属于 BLOB 类型(例如 TS 模板)。大多数这些字段在 4.2 中转换为 TEXT。现在想想下面的场景,这似乎很常见。该模板使用 TYPO3 4.1 和使用 latin1 (ISO-8859-X) 作为字符集的数据库保存。然后将数据库转换为 UTF-8 并相应地配置 TYPO3。你认为你已经完成了,因为一切正常。但在大多数情况下,BLOB 字段中仍有一些 latin1 格式的数据。你只是没有看到。将 TYPO3 升级到 4.2 后,这些 BLOB 将转换为 TEXT,假设数据是 UTF-8。但它是 latin1,因为 BLOB 之前没有转换。结果是一个损坏的模板。邮件列表中的许多人抱怨整个部分丢失。原因是无效的非 ascii 字符(如变音符号 äöüé¢ 等),这会破坏模板视图。

如何避免?

如果您更改了 TYPO3 和/或您的数据库的字符集,请在转换字符集之前将那些已被 TYPO3 更新更改的 BLOB 字段转换为 TEXT,否则请确保转换 BLOB 数据。

有关 UTF-8 和旧版本 TYPO3 的更多信息:https://stmllr.net/blog/thinking-about-utf-8-character-set-conversion-in-typo3/ Creative Commons License CC BY-SA 3.0

【讨论】:

  • #stlmllr 感谢您的反馈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 2018-10-15
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
  • 2011-04-18
  • 2012-02-04
相关资源
最近更新 更多