Modx日期格式未使用正确的字符集

时间:2019-01-30 19:23:48

标签: utf-8 character-encoding modx

我有一个modx网站,它以英语和法语在不同页面上输出一些日期-效果很好,但现在所有者报告的法语日期显示“有趣的字符”

数据库,modx和页面都使用UTF8编码,日期值(发布日期)作为unix时间存储在数据库中,并且这样调用:

[[+publishedon:strtotime:date=`%B  %e, %Y`]]

据我了解,这只是使用php strtotime函数,但是在法语页面上,日期显示为:

d�cembre 18, 2018

因此Locale功能可以正常工作,但不能使用字符集,现在立即模糊该日期是数据库中的某个副本:

"Le 18 décembre"

使用正确的字符,因此我们可以看到页面的编码是正确的,但是该功能似乎未使用正确的字符编码!?

Modx尚未更新。

有人知道这里可能发生什么以及如何为输出设置corect编码吗?

更新的信息:

  • 定义了2个Web上下文,英语和法语。每个都有一个分别定义为en_EN和fr_FR的语言环境
  • modx_charset是系统设置中设置的UTF-8
  • 在系统设置中启用了
  • use_multibyte,并在服务器上安装并启用了mbstring。
  • modx版本为2.6.5

2 个答案:

答案 0 :(得分:0)

  

它工作正常,但现在所有者正在报告显示“有趣字符”的法语日期

有趣的是发生了什么并成为原因。.也许某些服务器更新发生了?有时主人会做出不可磨灭的贡献:) 您现在在 php.ini 文件中使用哪种编码? 另外,您使用什么MOD​​X版本? 另外,请告知下一个Modx系统设置(直接或由上下文设置重新定义)存储的内容:

语言环境 modx_charset use_multibyte

Br, 安东

答案 1 :(得分:0)

使用支持utf8的语言环境MODX系统设置,例如fr_FR.utf8或类似内容。

您必须先查看一下,主机上可用的语言环境。