Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IDE在编译Java代码时无法识别特殊字符_Java_Netbeans_Character Encoding_Special Characters_Charset - Fatal编程技术网

IDE在编译Java代码时无法识别特殊字符

IDE在编译Java代码时无法识别特殊字符,java,netbeans,character-encoding,special-characters,charset,Java,Netbeans,Character Encoding,Special Characters,Charset,当我试图编译用Java语言编写的源代码时,我的计算机出现了一个大问题,因此我感到非常沮丧: 字符串类型的变量的读取和解释能力较差 编译并打印正方形而不是特殊字符 公共类主{ 公共静态void main(字符串[]args){ 扫描仪sc=新的扫描仪(System.in); System.out.println(“名称:”); 字符串名称=sc.nextLine(); System.out.println(名称); } }我很感激@Tigris帮我解决了这个问题,事实上,当我去检查时,我在

当我试图编译用Java语言编写的源代码时,我的计算机出现了一个大问题,因此我感到非常沮丧:

字符串类型的变量的读取和解释能力较差 编译并打印正方形而不是特殊字符

公共类主{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“名称:”);
字符串名称=sc.nextLine();
System.out.println(名称);
}   

}
我很感激@Tigris帮我解决了这个问题,事实上,当我去检查时,我在一杯水中制造了一场风暴。评论中的@Tigris解决方案给了我一个想法,当我用他最初给我的答案分析我所给出的错误时,这个想法立即产生了

问题很简单,基本上是IDE终端中的字符编码错误,我在CMD中键入的行解决了这个问题:

chcp 1252
此解决方案与注释末尾的链接相关,在其中,您注意到文章的解释表明,可以通过设置系统属性的简单代码行来解决问题

但在解决了这个问题并分析了@Tigris在评论中分享的链接后,我在想:如果我的问题没有解决,并且仍然坚持以不可读的方式显示特殊字符,那么我将不得不在我所有的项目中插入已回复的代码行


这就是为什么在出厂时,甚至在维修时,检查设备的字符串总是很好的原因,因为根据特殊字符的显示问题可能会改变用户正在工作的数据库的情况,如果用户是开发人员,甚至是为客户构建API或Web服务,而不需要注意这些文本压力的细节,在计算机上安装的任何IDE中完成项目时,这可能会带来不便和麻烦。

可以修改扫描仪和System.out以使用不同的字符集。这不是一个完整的答案,但可能会为你指明正确的方向?chcp命令可用于查找控制台使用的字符集。您的解决方案似乎非常有趣,事实上,我想找到一个解决方案来解决此错误,配置字符集的可能性似乎是解决此问题的一个非常可能的解释。我在cmd中键入了chcp命令,出现了活动代码页:850。我不知道这意味着什么,但根据你所说的,你能提供一个更清楚的答案吗?也许你对之前所说的更详细的解释可能有助于解决这个问题。我对字符集或netbeans都不太熟悉,所以我帮不了那么多忙。850()似乎包含最典型的特殊字符,所以这不应该是问题所在。如果我正在调试这个问题,我的下一步就是添加一个断点,看看变量字符串名称中的文本是否正确。这将有助于确定问题是在Scanner对象内部还是系统对象内部。实际上,我还发现了这一点,这也可能对您有所帮助: