You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM ACE 12.0.6.0执行命令时出现指定字符集不支持错误求助

解决IBM ACE 12.0.6.0在Windows 10执行命令的字符集错误

问题现象

安装IBM ACE 12.0.6.0后,执行任意控制台命令(如mqsilist)时抛出字符集相关异常,核心错误为UnsupportedCharsetException: MS65001,完整错误日志如下:

C:\Program Files\IBM\ACE\12.0.6.0>mqsilist
WARNING: Specified charset is not supported, UTF-8 is used for default charset
Exception in thread "main" java/lang/ExceptionInInitializerError
        at java/lang/J9VMInternals.ensureError (J9VMInternals.java:145)
        at java/lang/J9VMInternals.recordInitializationFailure (J9VMInternals.java:134)
        at com/ibm/jvm/io/LocalizedInputStream.getInputStream (LocalizedInputStream.java:332)
        at java/io/InputStreamReader.<init> (InputStreamReader.java:87)
        at java/io/FileReader.<init> (FileReader.java:83)
        at sun/misc/MetaIndex.registerDirectory (MetaIndex.java:177)
        at sun/misc/Launcher$ExtClassLoader$1.run (Launcher.java:171)
        at sun/misc/Launcher$ExtClassLoader$1.run (Launcher.java:166)
        at java/security/AccessController.doPrivileged (AccessController.java:747)
        at sun/misc/Launcher$ExtClassLoader.createExtClassLoader (Launcher.java:165)
        at sun/misc/Launcher$ExtClassLoader.getExtClassLoader (Launcher.java:152)
        at sun/misc/Launcher.<init> (Launcher.java:82)
        at sun/misc/Launcher.<clinit> (Launcher.java:68)
        at java/lang/ClassLoader.initializeClassLoaders (ClassLoader.java:196)
        at java/lang/Thread.initialize (Thread.java:411)
        at java/lang/Thread.<init> (Thread.java:158)
java/nio/charset/UnsupportedCharsetException: MS65001
        at java/nio/charset/Charset.forName (Charset.java:579)
        at com/ibm/jvm/io/ConsoleInputStream.<clinit> (ConsoleInputStream.java:100)
        at com/ibm/jvm/io/LocalizedInputStream.getInputStream (LocalizedInputStream.java:332)
        at java/io/InputStreamReader.<init> (InputStreamReader.java:87)
        at java/io/FileReader.<init> (FileReader.java:83)
        at sun/misc/MetaIndex.registerDirectory (MetaIndex.java:177)
        at sun/misc/Launcher$ExtClassLoader$1.run (Launcher.java:171)
        at sun/misc/Launcher$ExtClassLoader$1.run (Launcher.java:166)
        at java/security/AccessController.doPrivileged (AccessController.java:747)
        at sun/misc/Launcher$ExtClassLoader.createExtClassLoader (Launcher.java:165)
        at sun/misc/Launcher$ExtClassLoader.getExtClassLoader (Launcher.java:152)
        at sun/misc/Launcher.<init> (Launcher.java:82)
        at sun/misc/Launcher.<clinit> (Launcher.java:68)
        at java/lang/ClassLoader.initializeClassLoaders (ClassLoader.java:196)
        at java/lang/Thread.initialize (Thread.java:411)
        at java/lang/Thread.<init> (Thread.java:158)

已检查系统编码:

PS C:\Users\Admin> [System.Text.Encoding]::Default
IsSingleByte      : True
BodyName          : iso-8859-1
EncodingName      : Western European (Windows)
HeaderName        : Windows-1252
WebName           : Windows-1252
WindowsCodePage   : 1252
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
EncoderFallback   : System.Text.InternalEncoderBestFitFallback
DecoderFallback   : System.Text.InternalDecoderBestFitFallback
IsReadOnly        : True
CodePage          : 1252

系统区域已设置为“英语(美国)”,仍出现该问题。

问题原因

IBM ACE依赖的IBM J9虚拟机不识别Windows系统使用的MS65001字符集别名(对应UTF-8),当JVM尝试加载该字符集时抛出异常。

解决方案

方法1:临时控制台环境变量设置

打开CMD控制台,先执行以下命令设置Java字符集参数,再运行ACE命令:

set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
mqsilist

方法2:永久系统环境变量配置

  1. 打开系统属性 → 高级 → 环境变量
  2. 点击系统变量区域的新建,输入:
    • 变量名:JAVA_TOOL_OPTIONS
    • 变量值:-Dfile.encoding=UTF-8
  3. 保存后重启控制台,即可正常执行ACE命令。

方法3:修改IBM ACE启动脚本

  1. 定位到ACE安装目录下的bin文件夹,默认路径为C:\Program Files\IBM\ACE\12.0.6.0\bin
  2. 编辑mqsi.cmd文件,找到调用Java的行(类似"%JAVA_HOME%\bin\java"),添加字符集参数:
    "%JAVA_HOME%\bin\java" -Dfile.encoding=UTF-8 ...
    
  3. 保存修改后,直接运行ACE命令即可生效。

内容的提问来源于stack exchange,提问作者Boro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 04:42:54