我遇到了liferay门户网站编码问题。像ščšć这样的特殊(UTF8)字符显示不正确(所有这些字符都显示为 )
标题看起来很好:
<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 webserver 10.3.4。
编辑: 来自portlet的非翻译静态文本正确显示。
但是potlets中的翻译文本(使用liferay-ui:message标签)已损坏。
有什么想法吗?
答案 0 :(得分:3)
编码可能在许多不同的级别上出错:数据库应使用UTF-8,驱动程序也配置为使用此编码。 appserver(和Java的)默认编码也可能会发挥作用。然后webserver / appserver连接和代理可以进入它。
在上一版本工作时,开始检查数据库以及数据库驱动程序使用的内容(例如驱动程序的URL)。准备好使用备份。从包含混合编码的数据库中恢复将非常困难。
答案 1 :(得分:1)
我通过更改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
答案 2 :(得分:0)
您需要做的就是portal-ext.properties
添加file.encoding=UTF-8
。这解决了我的问题