java - 无法编译具有非 ASCII 字符的 Java 文件
问题描述
重要的:
我必须只使用普通的 Windows 记事本(IDE、Notepad++ 或任何其他文本编辑器都不允许)。
所以我有一个简单的类:
class Test{
public static void main(String[] args){
char c = 'қ';
System.out.println(c);
}
}
默认情况下,记事本使用 ANSII 编码保存文本文件,但如您所见,我的代码中有一个非 ANSII 字符。我可以通过命令提示符编译和运行这段代码,但输出是?
而不是қ
,这似乎很明显。当我将文件的编码更改为 UTF-8 时,编译器会引发错误。我在尝试编译 java 代码时阅读了这篇文章 Illegal Character但没有解决我的特定问题的方法,因为正如我上面所写的,除了 Windows 记事本之外,我不允许使用任何文本编辑器。
谢谢!
解决方案
可能你需要这样:
char c = '\u039A';
我不知道你的“k”的代码,但你可以在https://www.ssec.wisc.edu/~tomw/java/unicode.html上找到它
也希望Windows有这个字符在控制台输出
ps windows的控制台有一定的code page。尝试在控制台中更改它,例如:
REM change CHCP to UTF-8
CHCP 65001
CLS
并记住Windows控制台中的不同字体,其中一些无法绘制特定符号。
推荐阅读
- sqlite - 带有实体核心的 SQLCipher .NET - 设置或删除密码
- spring - 春天:`RequestScope` 与`RequestContextHolder`
- c# - 如何对表示数字(正数和负数以及小数部分)的字符串数组进行排序?
- python - 如何保存 50 个时间段的时间序列图像
- python - 在 python 中使用 for 循环创建字符串,优化时间性能
- c# - .NET Framework 4.7 Web 应用程序中的 AntiXSS - 如何应用它
- bit-manipulation - 是否有任何语言能够表达在某些数据位中如何编码不同的值?
- javascript - Yodlee Fastlink iFrame 在移动网络的新标签页中打开 Yodlee UI
- ios - 无法在 Swift 包中呈现 UIViewController 及其情节提要
- android - Flutter 对未来有好处,还是 kotlin 是最好的,什么最适合移动开发?