Liferay 传送门:UTF-8 编码
Liferay portal: UTF-8 encoding
我在使用 liferay 门户编码时遇到了问题。像 ščšć 这样的特殊 (UTF8) 字符显示不正确(它们都显示为 �)
Header 看起来不错:
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
我正在将 liferay 从 6.0.5 升级到 6.1.2。使用 6.0.5 一切正常。
首先我认为 language.properties 文件可能是问题所在,但来自 portlet 的文本也已损坏。
我正在使用 weblogic 网络服务器 10.3.4。
编辑:
来自 portlet 的未翻译静态文本已正确显示。
但是 potlet 中的翻译文本(使用 liferay-ui:message 标签)已损坏。
有什么想法吗?
编码可能在许多不同的层面上出错:数据库应使用 UTF-8,驱动程序也应配置为使用此编码。应用程序服务器(和 Java's)的默认编码也可能发挥作用。然后 webserver/appserver 连接和代理可以发挥作用。
与之前版本一样,开始检查数据库以及数据库驱动程序使用的内容(例如驱动程序的URL)。准备好使用备份。从包含混合编码的数据库中恢复真的很难。
我通过更改 JVM 设置解决了这个问题。
在 weblogics 文件 setDomainEnv.cmd 中,我更改了 Dfile.encoding。
对于 liferay 6.0.5,我使用的是:
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx1024m -Dfile.encoding=ISO-8859-2
Liferay 6.1.2 要求:
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx1024m -Dfile.encoding=UTF-8
您只需在 portal-ext.properties
中添加 file.encoding=UTF-8
。这为我解决了问题
我在使用 liferay 门户编码时遇到了问题。像 ščšć 这样的特殊 (UTF8) 字符显示不正确(它们都显示为 �)
Header 看起来不错:
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
我正在将 liferay 从 6.0.5 升级到 6.1.2。使用 6.0.5 一切正常。 首先我认为 language.properties 文件可能是问题所在,但来自 portlet 的文本也已损坏。
我正在使用 weblogic 网络服务器 10.3.4。
编辑: 来自 portlet 的未翻译静态文本已正确显示。
但是 potlet 中的翻译文本(使用 liferay-ui:message 标签)已损坏。
有什么想法吗?
编码可能在许多不同的层面上出错:数据库应使用 UTF-8,驱动程序也应配置为使用此编码。应用程序服务器(和 Java's)的默认编码也可能发挥作用。然后 webserver/appserver 连接和代理可以发挥作用。
与之前版本一样,开始检查数据库以及数据库驱动程序使用的内容(例如驱动程序的URL)。准备好使用备份。从包含混合编码的数据库中恢复真的很难。
我通过更改 JVM 设置解决了这个问题。 在 weblogics 文件 setDomainEnv.cmd 中,我更改了 Dfile.encoding。 对于 liferay 6.0.5,我使用的是:
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx1024m -Dfile.encoding=ISO-8859-2
Liferay 6.1.2 要求:
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx1024m -Dfile.encoding=UTF-8
您只需在 portal-ext.properties
中添加 file.encoding=UTF-8
。这为我解决了问题