我尝试在我的JBoss 4中将charset配置为UTF-8,但我无法成功完成。
我的申请中要求接受阿拉伯字符
虽然我知道这可以通过jsp中的直接编码来实现,但我想尝试通过JBoss中的配置来实现。
我在server.xml
尝试了以下内容,但徒劳无功。
<Connector .... URIEncoding="UTF-8" .... />
随后更改了run.bat
文件
JAVA_OPTS=-Dfile.encoding=utf-8 %JAVA_OPTS%
run.bat文件中的上述更改折叠了整个服务器。
是否有任何解决方法可以直接在服务器中而不是通过JSP将编码设置为UTF-8?最终结果是我的应用程序应该允许阿拉伯字符。
答案 0 :(得分:0)
这个答案可能有点晚了。但无论如何我会发布它。我刚刚在Ubuntu&amp; amp;当我浏览这个网站时,CentOS和我偶然发现了这个问题。
来自JVM™ Tool Interface文档......
由于无法始终访问或修改命令行,因此 例如,嵌入式虚拟机或简单地在脚本内部启动的虚拟机,a 提供JAVA_TOOL_OPTIONS变量以便可以启动代理 在这些情况下。
通过将(Windows)环境变量JAVA_TOOL_OPTIONS设置为-Dfile.encoding = UTF8,每次启动JVM时都会自动设置(Java)System属性。您将知道该参数已被选中,因为以下消息将发布到System.err:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
有关详细信息,请参阅此question。
为了在linux环境中进行相同的设置,请在run.sh和.bashrc中进行分配,以确保JVM始终使用UTF-8编码。
Set Encoding in .bashrc, set the following: export LC_ALL=en_US.UTF-8
Set in Run.sh JAVA_OPTS section : JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"