wso2am-analytics-2.6.0网页中文显示不正常
Chinese characters are not displayed properly in the web pages of wso2am-analytics-2.6.0
我在CentOS 7.6上安装了APIManager和APIM Analytics,版本是2.6.0。我发现中文字符在分析下拉菜单的页面中显示不正确。
但是汉字在其他页面可以正常显示
所以这个问题集中在"APIM Analytics"。我查看了H2数据库中的数据,发现H2的数据是正确的,但是返回的Json数据不正确。
和
我还查看了一个Shell文件/usr/lib64/wso2/wso2am/wso2am-analytics-2.6.0/wso2/worker/bin/carbon.sh
,发现-Dfile.encoding=UTF8
已经配置好了
我怀疑数据在传输过程中是不是没有编码。有人遇到过这个问题吗?
--- 附加内容(2020/3/25)---
我刚刚查看了 deployment.yaml,它位于 /usr/lib64/wso2/wso2am/wso2am-analytics-2.6.0/conf/worker
。我没有查到任何字符集的配置项。
我还评论了 usage.jag,它位于 /usr/lib64/wso2/wso2am/2.6.0/repository/deployment/server/jaggeryapps/store/modules/statistics
。可以看到,没有任何数据查询的程序逻辑。我想我必须阅读 wso2am-analytics-2.6.0 的源代码。我认为这不是一种有效的方法。
--- 附加内容(2020/3/26)---
我发现返回的 Json 数据中附加了一些奇怪的符号(如下面的屏幕截图所示)。返回的Json数据如下:å\u0085¨ç\u0090\u0083é£\u008eå\u0090\u0091æ\u009f¥è¯¢ (admin)
,正常的Json数据应该是这样的:\u6f22\u5b57
。
我在源码中发现了一个可疑点,具体如下:
Github 存储库是“wso2 / carbon-apimgt
”,Java 文件是“org.wso2.carbon.apimgt.impl.utils.APIUtil
”,方法是“executeQueryOnStreamProcessor
”。
关键代码是“String responseStr = EntityUtils.toString(entity);
”。
根据HttpClient的文档,EntityUtils.toString()
方法将使用默认的字符集,即ISO-8859-1,如果没有指定其他字符集(例如:UTF-8)。
所以重点是ISO-8859-1不能正常处理中文信息
希望WSO2的开发者能尽快注意到这一点。
我在CentOS 7.6上安装了APIManager和APIM Analytics,版本是2.6.0。我发现中文字符在分析下拉菜单的页面中显示不正确。
但是汉字在其他页面可以正常显示
所以这个问题集中在"APIM Analytics"。我查看了H2数据库中的数据,发现H2的数据是正确的,但是返回的Json数据不正确。
和
我还查看了一个Shell文件/usr/lib64/wso2/wso2am/wso2am-analytics-2.6.0/wso2/worker/bin/carbon.sh
,发现-Dfile.encoding=UTF8
已经配置好了
我怀疑数据在传输过程中是不是没有编码。有人遇到过这个问题吗?
--- 附加内容(2020/3/25)---
我刚刚查看了 deployment.yaml,它位于 /usr/lib64/wso2/wso2am/wso2am-analytics-2.6.0/conf/worker
。我没有查到任何字符集的配置项。
我还评论了 usage.jag,它位于 /usr/lib64/wso2/wso2am/2.6.0/repository/deployment/server/jaggeryapps/store/modules/statistics
。可以看到,没有任何数据查询的程序逻辑。我想我必须阅读 wso2am-analytics-2.6.0 的源代码。我认为这不是一种有效的方法。
--- 附加内容(2020/3/26)---
我发现返回的 Json 数据中附加了一些奇怪的符号(如下面的屏幕截图所示)。返回的Json数据如下:å\u0085¨ç\u0090\u0083é£\u008eå\u0090\u0091æ\u009f¥è¯¢ (admin)
,正常的Json数据应该是这样的:\u6f22\u5b57
。
我在源码中发现了一个可疑点,具体如下:
Github 存储库是“wso2 / carbon-apimgt
”,Java 文件是“org.wso2.carbon.apimgt.impl.utils.APIUtil
”,方法是“executeQueryOnStreamProcessor
”。
关键代码是“String responseStr = EntityUtils.toString(entity);
”。
根据HttpClient的文档,EntityUtils.toString()
方法将使用默认的字符集,即ISO-8859-1,如果没有指定其他字符集(例如:UTF-8)。
所以重点是ISO-8859-1不能正常处理中文信息
希望WSO2的开发者能尽快注意到这一点。