【发布时间】:2011-03-21 11:34:58
【问题描述】:
我正在尝试将欧元符号放入以这种方式传递给本机函数(使用 JNA)的 Java 字符串中:
/*JAVA*/
String s= new String("Euro symbol=€");
nativefunction(s.getBytes(US-ASCII));
/*C++*/
void nativefunction(char *s)
{
printf("%s",s);
}
本机函数输出:Euro symbol=?
为什么符号打印为? 而不是€。
我也尝试使用欧元符号的 ascii 代码(\0x80),但结果是一样的。
【问题讨论】:
-
你检查过你的代码的编码格式吗?
标签: java string character-encoding