这是我的问题 here 的延伸.
在一个简单的测试中,为了收集我链接到的问题的更多信息,我尝试通过 phpMyAdmin 界面将 & 符号插入我的数据库...
INSERT INTO `my_db`.`some_table` (`id`, `version`, `value`) VALUES (NULL, '0', '&');
...但是插入的是 HTML 等效的 &
。
我的数据库排序规则是 utf8_bin
,我要插入的表是 utf8_general_ci
,我尝试插入与符号的字段的类型是 >varchar
.
如何将原始与号字符 &
插入到我的 MySQL 数据库中?
更新:
我不知道 phpMyAdmin 的问题是什么,但我想我发现了我的应用程序的问题。看来 Hibernate 没有使用正确的连接字符集。我已经指定了自定义 MySQL 方言,因此我只是覆盖了 getTableTypeString
方法,如下所示,我的应用程序现在可以正确地将值插入到 MySQL 中:
class CustomMySQL5InnoDBDialect extends MySQL5InnoDBDialect {
@Override
public String getTableTypeString() {
return " ENGINE=InnoDB DEFAULT CHARSET=utf8"
}
}
最佳答案
您可以尝试:
INSERT INTO `my_db`.`some_table` (`id`, `version`, `value`) VALUES (NULL, '0', _utf8'&');
关于mysql - 在 MySQL 中插入 & 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098388/