有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

The variable of type String is poorly read and interpreted by the compiler and prints squares instead of special characters.

public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Name:"); String name = sc.nextLine(); System.out.println(name); } }

结果:

enter image description here

我的尝试是:

  • 更改位于文件资源管理器中IDE文件文件夹中的“netbeans.conf”配置文件

  • 安装多个版本的NetBeans IDE,查看是否所有版本都出现此问题。是的,它出现在所有版本中,我已经尝试了该程序的所有配置选项

  • 卸载并在我的计算机上安装JDK版本,并确保我也在我的计算机上安装了JRE,以查看在安装所有这些程序后问题是否得到解决。没有解决的办法,也没有成功。问题继续在IDE中编译这段小代码

有了这个问题,我不能:

  • 使用Java语言的数据库(MySQL+JDBC)创建应用程序,因为由于这个问题,PreparedStatement对象的参数无法识别字符串的特殊字符

enter image description here

  • 一般来说,创建Java应用程序,因为在我看来,如果这个问题在我的计算机上看起来是不可能解决的,我将如何继续创建具有这种特殊字符识别错误的系统

  • 在我的计算机上编译源代码,因为编译器不识别特殊字符,比如ç,á,ã,í,í等,而不是在输出中显示它们,方块显示如前一张图中所示

是某个配置落后了,还是我无法开发解决方案来解决这个问题?如果是这样,解决这个问题的最佳解释是什么?是否需要联系技术人员以了解更多信息


共 (1) 个答案

  1. # 1 楼答案

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

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

    chcp 1252
    

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

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

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