Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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
Java 无法在MySQL数据库中正确保存瑞典语字符_Java_Mysql_Utf 8_Java Io_Latin1 - Fatal编程技术网

Java 无法在MySQL数据库中正确保存瑞典语字符

Java 无法在MySQL数据库中正确保存瑞典语字符,java,mysql,utf-8,java-io,latin1,Java,Mysql,Utf 8,Java Io,Latin1,我有一个独立的java程序,它以UTF-8模式打开一个文本文件,并读取文件中包含瑞典字符的每一行,如å,ä,ö。文本文件已以utf-8模式保存。java程序将从文件中读取的内容打印到标准输出中,我已经验证了该程序可以正确读取和打印这些特殊字符。然后,程序使用JDBC连接将从文件读取的数据保存到默认的utf-8排序规则的Mysql 5.5数据库中 尽管如此,当程序将这些带有瑞典语字符的文本数据插入mysql数据库时,特殊字符将替换为不可读的奇怪的黑色字符。如果改为将数据库排序规则更改为latin1

我有一个独立的java程序,它以UTF-8模式打开一个文本文件,并读取文件中包含瑞典字符的每一行,如å,ä,ö。文本文件已以utf-8模式保存。java程序将从文件中读取的内容打印到标准输出中,我已经验证了该程序可以正确读取和打印这些特殊字符。然后,程序使用JDBC连接将从文件读取的数据保存到默认的utf-8排序规则的Mysql 5.5数据库中

尽管如此,当程序将这些带有瑞典语字符的文本数据插入mysql数据库时,特殊字符将替换为不可读的奇怪的黑色字符。如果改为将数据库排序规则更改为latin1,那么MySQL服务器将删除所有这些特殊字符。我在谷歌上搜索了这个问题,发现了一些建议,其中包括使用utf-8和latin1作为默认数据库排序规则的变体,但到目前为止,它们中没有一个对我有所帮助


我想知道是否有人在mysql数据库中放置瑞典语字符时面临类似的问题?如果是这样,您能告诉我应该使用什么样的排序规则类型和字符集在数据库中正确地使用瑞典语字符集吗。我是否必须在JDBC数据库连接中进行特定设置才能正确保存这些字母?也许这个问题与java更相关,但我通过视觉验证,我的java程序可以正确地读取/打印这些字符。谢谢。

在建立数据库连接时,您能设置编码吗?也许这会有帮助:Utf-8应该可以正常工作,我通常使用Utf-8 general和瑞典语字母,没问题。确保在任何地方都使用相同的编码。我在上面的链接中添加了示例中指定的charecter编码类型,但没有任何改进。。。