我使用的是Eclipse 4.5.1 Mars。我有一个非常简单的程序,只需使用印地语作为语言环境,并打印出日期的格式:
但是当运行它时,控制台会打印出问号。但是如果我删除了印地语区域设置,它会打印出正确的日期字符串。为什么?如何解决问号问题?
========下面的======代码
public static void main(String[] args) {
Locale.setDefault(new Locale("hi", "IN"));
Calendar calendar = new GregorianCalendar(TimeZone.getDefault(), Locale.getDefault());
// print out date string in console
System.out.println(getDateStr(calendar.getTime()));
}
public static String getDateStr(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.setTimeZone(TimeZone.getDefault());
return sdf.format(date);
}
发布于 2016-03-16 17:08:10
您需要更改eclipse控制台输出的编码。默认情况下,它是Cp1252 (在我的例子中),将其更改为包含印地语字符的UTF-8。
打开您的run configuration,然后转到Common选项卡。您可以在那里找到Encoding设置。
发布于 2019-03-04 08:59:55
在Eclipse中,默认的文本文件编码是Cp1252,请将其更新为UTF-8。
转至首选项->常规->工作区将文本文件编码更新为UTF-8
https://stackoverflow.com/questions/36030836
复制相似问题