Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
NetBeans:更改Java项目&x27;s字符集导致问题_Java_Database_Character Encoding_Connection - Fatal编程技术网

NetBeans:更改Java项目&x27;s字符集导致问题

NetBeans:更改Java项目&x27;s字符集导致问题,java,database,character-encoding,connection,Java,Database,Character Encoding,Connection,我想问,是否有人有过像我一样的问题: 我用编码UTF-8开始我的项目(是默认项目的编码)。但由于我来自中欧,我决定将编码改为Unicode,因为我不想只在JOptionPane.showMessageDialog()windows中使用英语字母表。 我的应用程序还连接到数据库,在将字符集更改为Unicode连接后,连接突然不起作用 com.mysql.jdbc.CommunicationsException:由于基础异常导致通信链路故障 然后我决定通过将字符集改回UTF-8来测试它,这样应用程序

我想问,是否有人有过像我一样的问题:

我用编码UTF-8开始我的项目(是默认项目的编码)。但由于我来自中欧,我决定将编码改为Unicode,因为我不想只在
JOptionPane.showMessageDialog()
windows中使用英语字母表。
我的应用程序还连接到数据库,在将字符集更改为Unicode连接后,连接突然不起作用

com.mysql.jdbc.CommunicationsException:

由于基础异常导致通信链路故障

然后我决定通过将字符集改回UTF-8来测试它,这样应用程序就可以再次连接。我甚至比较了我的连接字符串位置,如果它们在UTF-8和Unicode中不同,但它们是相同的


我的问题是:当我想要避免连接问题时,如何在我的项目中使用东欧字母表(与默认UTF-8不同的字符集)?UTF-8没有覆盖斯洛伐克字母表中的所有符号,这就是我决定将字符集更改为UTF-16的原因。编译后,一些特定的斯洛伐克字母在UTF-8中看起来与我预期的不同。
我不明白的是,如果我将charset更改为UTF-16,那么我的连接字符串就会发生变化(看起来像是
jdbc:mysql://localhost/db_name?user=root&password=password
),其中仅包含ASCII代码表中的符号,我的程序无法连接…

使用latin2和Windows-1250,我可以连接并使用中欧字符。Unicode在NetBeans 7.2中造成这样的问题是不是有某种缺陷?

UTF-8是Unicode支持欧洲(以及全球)所需的所有字符的吗。也许我不明白你的问题?UTF-8是一种Unicode编码。您需要了解源文件编码、数据库中的数据编码和Java字符串编码(UTF-16)之间的区别,以及它们之间的转换点(Java编译器;JDBC驱动程序)