Java linux和mysql的字符编码问题

Java linux和mysql的字符编码问题,java,mysql,character-encoding,Java,Mysql,Character Encoding,我从webservice获得这个字符串,它包含这个子字符串under.AFLĂMAI MULTEDe。当我在本地(windows)的数据库中保存此文件时,工作正常,但当我在linux上部署此文件时,尝试在服务器上保存时,会出现以下错误: Incorrect string value: '\xC4\x82 MAI...' for column 'description' at row 1 我正在使用hibernate 3.3和mysql 5.5(windows和linux)以及数据库使用默认编码

我从webservice获得这个字符串,它包含这个子字符串
under.AFLĂMAI MULTEDe
。当我在本地(windows)的数据库中保存此文件时,工作正常,但当我在linux上部署此文件时,尝试在服务器上保存时,会出现以下错误:

Incorrect string value: '\xC4\x82 MAI...' for column 'description' at row 1
我正在使用hibernate 3.3和mysql 5.5(windows和linux)以及数据库使用默认编码(latin1)

我曾尝试在JAVA_OPT中设置
-Dfile.encoding=UTF8
,但没有成功,我认为这是与操作系统相关的问题

有什么建议吗?

(通常现在我会用UTF-8来完成所有工作。)有一长串的点可以设置编码。从web服务中,您可能会得到UTF-8格式的XML。这是自动正确读取的,因为XML严格地处理编码

在数据库级别上,数据库、表和字段使用默认的显式编码。此外,连接url应参数化为正确的编码

错误消息显示了重音A的UTF-8字节,我猜它在拉丁语1中不可用。 对于MySQL,连接字符串可能如下所示:

jdbc:mysql://localhost/MYDB?useUnicode=true&characterEncoding=UTF-8

“description”列的排序规则是什么?您必须对数据库使用utf8排序规则。然后,按照答案的建议在连接字符串中指定编码。