这是我的问题here的扩展。将&字符插入MySQL
在一个简单的测试,收集了我挂我试图插入一个符号字符到通过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"
}
}
可能的重复[在MySQL数据库中存储&(Ampersand)的最佳方式](http://stackoverflow.com/questions/11704233/the-best- way-to-store-ampersand-in-mysql-database) – Kermit
这可能是phpMyAdmin的web界面的一个例子这为你。您是否尝试过直接在MySQL中或通过某种程序语言运行此查询? –
我只尝试通过phpMyAdmin和我的Grails应用程序创建的连接来运行查询。两者都产生相同的结果。我会尝试使用MySQL Workbench。 – ubiquibacon