对于所有版本的Android,我想将Gregorian(西方)日期转换为波斯语(Shamsi)日期,反之亦然.
有没有完整可靠的库或算法?
我正在使用Netbeans6.9.1 IDE并希望使用java在输出控制台中显示中文字符.我从网页上复制了中文字符并在""之间复制.但它不受支持.
String char1="????";
System.out.println(char1);
我是否需要在IDE中进行一些设置或在我的Java代码中使用某些设置?
我需要阅读用户的输入,我想支持非拉丁字母,例如Å,Ä和Ö.
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"), true);
out.println(keyboard.readLine());
out.println("Read with charset: " + Charset.defaultCharset().name());
Run Code Online (Sandbox Code Playgroud)
当我运行此代码并输入拉丁字母时,它按预期工作(我输入内容,按回车键,然后打印出我输入的内容).但如果我尝试å我得到这个:
å
?
Read with charset: UTF-8
Run Code Online (Sandbox Code Playgroud)
如果文本以非拉丁字母结尾,我必须按两次输入,然后它不会正确显示它们.我在Netbeans的控制台中尝试了这个,并且在Windows命令提示符下都没有给出预期的结果.
我找不到UTF-8的解决方案,而是选择了ISO-8859-1.它适用于我的Netbeans控制台(绝对应该是UTF-8)和CMD,当我第一次运行时chcp 28591,更改了字体(在我的情况下是必要的)并运行我的程序.
我无法让这些字符在代码(或普通的.txtNetbeans 的代码(或普通文件)中显示。
\xe2\x9c\xb0\xe2\x98\x86\xe2\x98\x85\xe2\x98\x9e\xe2\x98\x9b\xe2\x9d\xb8\xe2\x9e\x82\xe2\x9d\xa4\xe2\x99\xa1\xe2\x9c\x89
相反,它们显示为白色方块,如下所示:
\n\n\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90\xe2\x98\x90
我正在使用 Netbeans IDE 8.0.2。我已经设置好-J-Dfile.encoding=UTF-8了../etc/netbeans.conf。在我的项目属性中,我设置了Encoding : UTF-8. 工具 > 选项 > 字体和颜色 > 默认 > 字体 > Courier New 13.
有趣的是,当我使用 Notepad++ 6.9(并使用“Courier New”字体)打开相同的文本文件时,我可以很好地看到所有这些字符!Microsoft Word 也可以正确显示它们。
\n\n我使用的是 Windows 10。
\n\n另外两个有趣的注释:
\n\n\xe2\x99\xa5) 。