我有一个独立的java程序,以 UTF-8模式打开文本文件,并读取包含瑞典字符的文件中的每一行,如å, ä,ö。文本文件已以utf-8模式保存。 java程序将从文件中读取的内容打印到标准输出中,并且我已经验证程序可以正确读取和打印这些特殊字符。然后,程序通过使用JDBC连接将从文件读取的数据保存到 Mysql 5.5 数据库中,并使用默认的 utf-8 排序规则。
然而,当程序将带有瑞典字符的这些文本数据插入到mysql数据库中时,特殊字符将被不可读的奇怪黑色字符替换。如果我将数据库排序规则更改为 latin1 ,则MySQL服务器将删除所有这些特殊字符。我已经搜索了这个问题并找到了将utf-8和latin1的使用变体作为默认数据库排序规则的建议,但到目前为止它们似乎没有帮助我。
我想知道是否有人面临将瑞典字符放入mysql数据库的类似问题?如果是这样,你能告诉我什么是校对类型和charset我应该用来在数据库中正确使用瑞典语字符。我是否必须在JDBC数据库连接中进行特定设置才能正确保存这些字母?也许这个问题与java有关,但我直观地验证了我的java程序可以正确读取/打印这些字符。感谢。