Java 无法访问名称中包含unicode字符的keytool别名

Java 无法访问名称中包含unicode字符的keytool别名,java,unicode,keytool,Java,Unicode,Keytool,我想为谷歌地图API获得一个带有keytool的md5,但我得到了一个错误。当我尝试跑步时: C:\Program Files\Java\jre7\bin>keytool -list -alias arabamı bulalım -keystore "c:\key.keystore" keytool返回一个错误,说明: Illegal error: bulal2m 我认为这个错误是由我别名中的Unicode(“ı”)字符引起的,arabamıbulalım。如何解决此问题?cmd.ex

我想为谷歌地图API获得一个带有keytool的md5,但我得到了一个错误。当我尝试跑步时:

C:\Program Files\Java\jre7\bin>keytool -list -alias arabamı bulalım -keystore "c:\key.keystore"
keytool返回一个错误,说明:

Illegal error: bulal2m

我认为这个错误是由我别名中的Unicode(“ı”)字符引起的,
arabamıbulalım
。如何解决此问题?

cmd.exe
您用来调用
keytool
的似乎没有使用
utf-8
。您正在以另一种(特定于语言环境的)编码输入字符。您可以通过从命令行运行
chcp
来检查它

解决办法是:

  • 运行cygwin/bash(它使用
    utf-8
  • 尝试编写一些Java代码(并在
    utf-8
    encoded
    .Java
    文件中硬编码别名)
  • 使用
    chcp 65001
    ,尝试将chanding cmd.exe代码页更改为
    utf-8
    (但它很少工作)

对于md5ı使用的jre6,可以这样做,它解决了:)C:\ProgramFiles(x86)\Java\jre6\bin>keytool-list-别名“arabamıbulalım”-keystore“C:\key.keystore”谢谢大家我的朋友

这是安卓系统的问题吗?这样你就可以用谷歌地图API开发一些东西了吗?