我之前遇到过这个问题,使用 Liferay POrtal,在我导入 lar 文件后,任何阿拉伯字符和任何特殊字符(如“♦”)都被毁为问号“?”,当我检查数据库时,我看到它也是这样存储的,我是说 ”?” .
它在这里解释:Import .lar file issue on Encoding with Glassfish as Application Server
添加-DFile.encoding=UTF8
对我没有帮助。
并且在阿拉伯语中使用 Liferay 本身没有问题(例如添加 Web 内容),从数据库中检索数据运行良好。
这些天,我正在从 liferay 5.2.8 升级到 6.1.20,我再次遇到了这个问题,升级涉及的所有阿拉伯字符(作为临时文件提取到临时目录,然后重新插入到 DB)都损坏了..
所以在我看来,这是 Glassfish 文件系统的问题。
我尝试了 Tomcat 7.0 并没有发生此问题,并且我的数据幸存下来,但我需要在 Glassfish 应用程序服务器中解决它。
仅供参考:Glassfish v2.1.1、v3.1.2.2 和 ML 版本存在相同问题。
任何的想法?