ide在编译java代码时不识别特殊字符

ih99xse1  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(444)

当我试图编译java语言的源代码时,我的电脑出现了一个大问题,因此我很沮丧:
string类型的变量被编译器读取和解释得很差,并且打印的是正方形而不是特殊字符。

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);
    }   
}

结果:

我的尝试是:
更改位于文件资源管理器中ide文件文件夹中的“netbeans.conf”配置文件
安装多个版本的netbeans ide以查看是否所有版本都出现此问题。是的,它发生在所有的版本,我已经尝试了所有程序的配置替代品
在我的计算机上卸载并安装jdk版本,并确保在我的计算机上也安装了jre,以查看在安装所有这些程序后问题是否得到解决。什么都没有解决,没有成功。这个问题继续在ide中编译这个小代码。
有了这个问题,我不能:
使用java语言的数据库(mysql+jdbc)创建应用程序,因为preparedstatement对象的参数不能识别字符串的特殊字符

一般来说,创建java应用程序,因为如果出现这个问题,在我看来,这似乎是一个不可能在我的计算机上解决的解决方案,我将如何继续创建具有这种特殊字符识别错误的系统?
在我的计算机上编译源代码,因为编译器不能识别像ç, á, ã, â, í, 除此之外,正方形并没有显示在输出中,而是像您在上一个图像中看到的那样出现。
是一些配置被遗留下来,还是一个解决方案,我无法开发来解决这个问题?如果是这样,解决这个问题最好的解释是什么?是否需要联系技术人员了解更多信息?

um6iljoc

um6iljoc1#

我很感激@tigris帮我解决了这个问题,事实上,当我去检查的时候,我在一杯水里制造了一场风暴。评论中的@tigris解决方案给了我一个想法,当我用他最初给我的答案分析错误时,这个想法立竿见影。
问题很简单,基本上是ide终端中的一个字符编码错误,用我在cmd中键入的行解决了这个问题:

chcp 1252

此解决方案与注解末尾的链接有关,在其中,您注意到帖子的解释表明,可以通过设置系统属性的简单代码行来解决问题。
但在解决了这个问题并分析了@tigris在评论中分享的链接之后,我在想:如果我的问题没有解决,仍然坚持以不可读的方式显示特殊字符,那么我就必须在我所有的项目中插入已回答的代码行?
这就是为什么在设备出厂或维修时检查其字符串总是很好的原因,因为这种特殊字符的显示问题可能会改变用户正在使用的数据库,以防用户成为开发人员,甚至为客户机构建api或webservice,而不必注意这些文本压力的细节,在计算机上安装的任何ide中完成一个项目时,这都会带来不便和麻烦。

相关问题