Java 带ResourceBundle的UTF-8

Java 带ResourceBundle的UTF-8,java,utf-8,character-encoding,Java,Utf 8,Character Encoding,在我的web应用程序中,尝试从ResourceBundle对象获取字符串时,UTF-8字符显示为问号 在我的属性文件中,我有一个键值对,如下所示: CTRY_NAME=奥兰群岛 protected Object handleGetObject( String k ){ ResourceBundle fileBundle; cfgBundle = ResourceBundle.getBundle("CSResBundleCfg", Loca

在我的web应用程序中,尝试从ResourceBundle对象获取字符串时,UTF-8字符显示为问号

在我的属性文件中,我有一个键值对,如下所示: CTRY_NAME=奥兰群岛

    protected Object handleGetObject( String k ){

            ResourceBundle fileBundle;
            cfgBundle = ResourceBundle.getBundle("CSResBundleCfg", Locale
                                .getDefault());
            bundleName = cfgBundle.getString("BUNDLE_NAME");
            fileBundle = ResourceBundle.getBundle(bundleName, new Locale( language, country, variant),
            Object      result=fileBundle.getString(k);
    }
调试代码时,键CTRY_NAME有一个值�陆地岛屿
用户界面上也会显示相同的内容。

代码中有几个未知项。首先仔细检查属性文件是否使用UTF-8字符集保存。(最简单的方法是用记事本打开文件,然后单击“另存为”,它提供了用当前字符集保存文件的功能,这样您就可以找到它是什么)。然后,您所在地区的语言可能会使用UTF-8以外的字符集。您可以使用Charset.defaultCharset()检查哪个是默认的。您还可以为JVM配置它。@MichaelGantman。。谢谢。我的文件编码是ANSI。