- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 mysql 和 hibernate 时遇到了所有其他语言的问题,然后是英语。尽管语言是 utf8(希伯来语),但我收到异常说明该语言不是 utf8。
我运行了 show variables like '%character%';
这就是我得到的结果:
我想也许是 character_set_server 的问题?它是 latin1,我无法将其更改为 utf8,我该怎么做?我正在使用 amazon RDS,在参数组下我看到了 utf character_set_server,所以我不明白为什么它不是上面的 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;
我现在的问题是从数据库返回的结果带有问号。调用 show variables like '%character%';
最佳答案
我不认为character_set_server
是问题所在。
\xD7\xAA\xD7\xA9\xD7\x95
是 'תשו' 的 utf8 编码的十六进制。如果它被解释为 latin1,它将是 'תשו'。
一个奇怪的设置是 character_set_result
的空值(空字符串?NULL?) , 它在 SELECT
期间控制音译.
请提供 SELECT col, HEX(col) FROM ...
的输出-- 如果你得到 D7AAD7A9D795
的十六进制对于那个希伯来语字符串,那么数据存储正确,我们应该看看输出端。如果不是,则数据存储不正确。或者那个ALTER
把事情搞砸了。
希伯来文,在utf8中,显示为十六进制,主要是'D7xx'。
你在几个地方需要 utf8:
<property name="url" value="jdbc:mysql://...&characterSetResults=utf8&characterEncoding=utf-8"/>
CHARACTER SET utf8
(或 utf8mb4)。做SHOW CREATE TABLE
.<meta charset=utf-8" />
.<form accept-charset="UTF-8">
关于java - mysql character_set_results 没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533777/
我在使用 mysql 和 hibernate 时遇到了所有其他语言的问题,然后是英语。尽管语言是 utf8(希伯来语),但我收到异常说明该语言不是 utf8。 我运行了 show variables
我决定第一次使用 Django 1.7 和 Python 3。我需要能够使用包含 utf8 数据的遗留 latin1 数据库。我知道这很糟糕,但是数据库太大了,真的不可能改变它。所以我尝试了以下操作:
我正在使用 5.5.64-MariaDB MariaDB 服务器。我一生都无法将character_set_results更改为utf8。我试过ALTER DATABASE DBNAME CHARAC
我有一个表 'ABC' (charset = utf8),这些是我的字符集变量值 [mysql 版本 4.1.23 - 服务器] 和客户端版本 - 3.23.57 mysql> show variab
我是一名优秀的程序员,十分优秀!