Java mysql字符集结果未更改

Java mysql字符集结果未更改,java,mysql,hibernate,utf-8,Java,Mysql,Hibernate,Utf 8,我在hibernate中使用mysql,除了英语之外,其他语言都有问题。我得到了一个例外,说语言不是utf8,虽然语言是utf8希伯来语 我运行了显示变量,如“%character%”;这就是我得到的: 我想可能是字符集服务器的问题?它是拉丁文1,我不能把它改成utf8,我该怎么做?我使用的是AmazonRDS,在参数组下我看到了utf字符集服务器,所以我不明白上面为什么不是utf8 另一方面,也许这根本不是问题所在。欢迎提出任何其他建议 编辑: 我设法将所有附加的图像值都更改为utf8,但仍然

我在hibernate中使用mysql,除了英语之外,其他语言都有问题。我得到了一个例外,说语言不是utf8,虽然语言是utf8希伯来语

我运行了显示变量,如“%character%”;这就是我得到的:

我想可能是字符集服务器的问题?它是拉丁文1,我不能把它改成utf8,我该怎么做?我使用的是AmazonRDS,在参数组下我看到了utf字符集服务器,所以我不明白上面为什么不是utf8

另一方面,也许这根本不是问题所在。欢迎提出任何其他建议

编辑:

我设法将所有附加的图像值都更改为utf8,但仍然收到以下异常:

2016-02-21 08:46:05 DEBUG SqlExceptionHelper:139 - could not execute statement [n/a]
java.sql.SQLException: Incorrect string value: '\xD7\xAA\xD7\xA9\xD7\x95...' for column 'text' at row 1
    ...
    ...
    ...
    2016-02-21 08:46:05 WARN  SqlExceptionHelper:144 - SQL Error: 1366, SQLState: HY000
    2016-02-21 08:46:05 ERROR SqlExceptionHelper:146 - Incorrect string value: '\xD7\xAA\xD7\xA9\xD7\x95...' for column 'text' at row 1
    2016-02-21 08:46:05 INFO  AbstractBatchImpl:208 - HHH000010: On release of batch it still contained JDBC statements
    2016-02-21 08:46:05 DEBUG SqlExceptionHelper:225 - SQL Warning
    java.sql.SQLWarning: Incorrect string value: '\xD7\xAA\xD7\xA9\xD7\x95...' for column 'text' at row 1
编辑2:

所以我也设法修复了这个异常。它现在可以很好地保存在数据库中。 我通过为每列调用以下命令修复了它:

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;
我现在的问题是,结果是从DB返回的,带有问号。 调用诸如“%character%”之类的show变量时,我仍然看到character_set_结果的空值

我认为字符集服务器不是问题所在

\xD7\xAA\xD7\xA9\xD7\x95是十六进制,表示“תשו”的utf8编码。如果它被解释为拉丁文1,它将是“×ת×ו”

一个奇怪的设置是空值空字符串?无效的对于字符集结果,它在选择过程中控制音译

请提供SELECT col、HEXcol FROM…-如果这个希伯来语字符串的十六进制是D7AAD7A9D795,那么数据存储正确,我们应该看看输出端。如果不是,则数据存储不正确。或是把事情搞砸了

希伯来语,在utf8中,显示为十六进制,主要是“D7xx”

您需要在几个地方使用utf8:

插入的字节需要用utf8编码。 连接需要在utf8中。 表格定义需要显示字符集utf8或utf8mb4。显示创建表。
html输出需要您可以将jdbc代码和字符串作为您尝试执行的操作的可读文本共享吗\x在我看来是字节编码,而不是字符符号:请显示您的代码-您的字符串编码看起来很奇怪您希望看到什么代码?我正在使用hibernate,这对你有帮助吗?我想问题是character_set_result的值是空的,我无法更改它,不知道为什么。我主要关心的是您的字符串显示为转义字节-我希望转义字符看起来像\uxxx您的代码中有某种转换吗?事实上,我昨天的修复修复了DB问题。我没有的是application/json;响应的字符集=utf-8。无论如何,谢谢你,你确实帮助我理解DB是好的。