【发布时间】:2012-05-23 15:17:46
【问题描述】:
在数据库排序规则为 latin1_general_ci 的 MySQL 5.1 上,当我 UPDATE 时出现此异常:
请帮我解决这个问题。
【问题讨论】:
-
请为
medicaltestdetails和TL_medicaltestdetails发布SHOW CREATE TABLE的输出。
在数据库排序规则为 latin1_general_ci 的 MySQL 5.1 上,当我 UPDATE 时出现此异常:
请帮我解决这个问题。
【问题讨论】:
medicaltestdetails 和TL_medicaltestdetails 发布SHOW CREATE TABLE 的输出。
您可能在我的 JDBC 连接字符串中添加了“&characterEncoding=UTF-8”。 如果
mysql> show variables like "collation_database";
+--------------------+-----------------+
| Variable_name | Value |
+--------------------+-----------------+
| collation_database | utf8_general_ci |
+--------------------+-----------------+
不是这样的 和
mysql> show table status;
+--------------+-----------------+
| Name | Collation |
+--------------+-----------------+
| my_view | NULL |
| my_table | utf8_unicode_ci |
...
不是这样的
做:
ALTER DATABASE mydb DEFAULT COLLATE utf8_unicode_ci;
并更改字段的编码:
ALTER TABLE my_table MODIFY COLUMN my_column column_type CHARACTER SET utf8 COLLATE utf8_unicode_ci [NOT NULL];
或者改变表格的编码:
ALTER TABLE my_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci
调
卢卡
【讨论】: