Servlets 更改Glassfish Servlet编码/字符集

Servlets 更改Glassfish Servlet编码/字符集,servlets,character-encoding,glassfish,Servlets,Character Encoding,Glassfish,我正在向Glassfish 4.1服务器上的Servlet发送一个可序列化的对象,当我尝试记录我得到的阿拉伯语值时,该对象具有带阿拉伯字符的字符串字段(???) 我读过和和其他许多帖子,但都没有解决问题,我在Tomcat 8服务器上尝试过相同的代码,效果很好 我应该如何使用Glassfish服务器或Servlet来正确读取UTF-8字符 正在发送可序列化对象: web.xml Glassfish上的控制台输出: Tomcat上的控制台输出: 您需要设置命令行属性: -Dfile.encodin

我正在向Glassfish 4.1服务器上的Servlet发送一个可序列化的对象,当我尝试记录我得到的阿拉伯语值时,该对象具有带阿拉伯字符的字符串字段(???)

我读过和和其他许多帖子,但都没有解决问题,我在Tomcat 8服务器上尝试过相同的代码,效果很好

我应该如何使用Glassfish服务器或Servlet来正确读取UTF-8字符

正在发送可序列化对象: web.xml Glassfish上的控制台输出: Tomcat上的控制台输出:
您需要设置命令行属性:

 -Dfile.encoding=UTF-8
开始吃玻璃鱼的时候

如果从IDE启动,则需要将此设置添加到启动配置中

如果Glassfish是作为服务启动的,则需要设置一个环境变量:

 JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

Tomcat和Glassfish是否在同一台机器和操作系统上运行?是的,都在我的机器(localhost)上运行
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <jsp-config>
    </jsp-config>
    <parameter-encoding default-charset="UTF-8" />
</glassfish-web-app>
        log("sys: "+System.getProperty("file.encoding"));
        log("def: "+Charset.defaultCharset());
        log("size: "+b.totalRowsCount()+", "+b.totalColumnsCount());
        log("test arabic: هلوووووووووويااا");
        System.out.println("test sysout: اوووه خطبها نصيب");
        while (b.hasNext()) {
            Position p = new Position();
            p.setEn(b.next());
            p.setAr(b.next());
            log("p: "+p.toString());                
        }
log():net.abdullahcodes.serv.TradableReceiver: sys: Cp1252
log():net.abdullahcodes.serv.TradableReceiver: def: windows-1252
log():net.abdullahcodes.serv.TradableReceiver: size: 4, 2
log():net.abdullahcodes.serv.TradableReceiver: test arabic: ????????????????
Info: test sysout: ????? ????? ????
log():net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: fatima, ar: abod
log():net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: maryam, ar: nora
log():net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: ????, ar: ????
log():net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: ????, ar: ????
log INFO: net.abdullahcodes.serv.TradableReceiver: sys: UTF-8
log INFO: net.abdullahcodes.serv.TradableReceiver: def: UTF-8
log INFO: net.abdullahcodes.serv.TradableReceiver: size: 4, 2
log INFO: net.abdullahcodes.serv.TradableReceiver: test arabic: هلوووووووووويااا
test sysout: اوووه خطبها نصيب
log INFO: net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: fatima, ar: abod
log INFO: net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: maryam, ar: nora
log INFO: net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: احمد, ar: صالح
log INFO: net.abdullahcodes.serv.TradableReceiver: p: id: 0, en: حسين, ar: 
 -Dfile.encoding=UTF-8
 JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8