• 配置情况:  Win7 x64 英文版系统
  • 软件平台:Java 8
         在DOS环境下编译Java程序时,因为程序内有中文字符,提示Gp1252错误,百度之。结论是由于编码问题,需要把系统编码改为UTF-8 。方法如下:
  • 在环境变量修改中 新建系统变量 变量名”JAVA_TOOL_OPTIONS 变量值为:-Dfile.encoding=UTF-8 修改完后重启电脑(网上有说重启命令行窗口就可生效,亲测不行。)。
  • Java: unmappable character for encoding Gp1252错误 改为UTF-8 中文显示“???"
  • 添加完系统变量后运行如下程序段可以检测 如图
import java.io.ByteArrayOutputStream;  
import java.io.OutputStreamWriter;  
import java.nio.charset.Charset;  
  
class TestEncodingType {  
    public static void main(String[] args) {  
        System.out.println("Default Charset=" + Charset.defaultCharset());  
        System.out.println("file.encoding=" + System.getProperty("file.encoding"));  
        System.out.println("Default Charset=" + Charset.defaultCharset());  
        System.out.println("Default Charset in Use=" + getDefaultCharSet());  
    }  
  
    private static String getDefaultCharSet() {  
        OutputStreamWriter writer = new OutputStreamWriter(new ByteArrayOutputStream());  
        String enc = writer.getEncoding();  
        return enc;  
    } 
 Java: unmappable character for encoding Gp1252错误 改为UTF-8 中文显示“???"
从此运行编译软件都会有一行提示。

Java: unmappable character for encoding Gp1252错误 改为UTF-8 中文显示“???"

至此,解决了unmappable character for encoding Gp1252 错误问题。但是无法正常显示中文字符。 这是因为Windows系统默认是unicode,对于不是Unicode编码的就会显示异常。通过更改系统区域设定,设定为本地区域即可解决。
Java: unmappable character for encoding Gp1252错误 改为UTF-8 中文显示“???"

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-12-06
猜你喜欢
  • 2021-04-06
  • 2022-12-23
  • 2021-08-11
  • 2021-05-07
  • 2021-11-21
  • 2022-12-23
  • 2022-01-25
相关资源
相似解决方案