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

问题描述 投票:0回答:2

我有一个modx网站,在英语和法语的一堆不同的页面上输出一些日期 - 它工作正常,但现在业主报告法国日期显示'有趣的人物'

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

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

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

d�cembre 18, 2018

因此Locale函数正在工作但不是字符集,NOW立即雾化该日期是数据库中的一些副本:

"Le 18 décembre"

使用正确的字符,我们可以看到页面的编码是正确的,但该函数似乎没有使用正确的字符编码!?

Modx尚未更新。

有谁知道这里可能会发生什么以及如何为输出设置正确的编码?

更新信息:

  • 有两个网络上下文定义,英语和法语。每个语言环境分别定义为en_EN和fr_FR
  • modx_charset是在系统设置中设置的UTF-8
  • 在系统设置中启用了use_multibyte,在服务器上安装并启用了mbstring。
  • modx版本是2.6.5
utf-8 character-encoding modx
2个回答
0
投票

它工作正常,但现在业主报告法国日期显示'有趣的人物'

有趣的是发生了什么并成为了原因。可能会发生一些服务器更新吗?有时候,hoster做出了不可磨灭的贡献:)你现在在php.ini文件中有什么编码?另外你使用什么MOD​​X版本?另请注意为下一个modx系统设置存储的内容(直接或通过上下文设置重新定义):

locale,modx_charset,use_multibyte

Br,安东


0
投票

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

您必须先查看主机上可用的区域设置。

© www.soinside.com 2019 - 2024. All rights reserved.