阿拉伯语改为????插入Mysql DB后

时间:2018-06-06 18:07:30

标签: mysql mybatis

当我在此表中插入数据时,我的查询是 INSERT INTO urdu_word(word)VALUES('Abdelali Abou Dher(عبدالعاليابوذر)')在DUPLICATE KEY UPDATE word ='Abdelali Abou Dher(عبدالعاليابوذر)'字值替换为喜欢???

我的表结构是:

CREATE TABLE `urdu_word` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `word` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `word` (`word`),
  KEY `idx_aml_word_status` (`word`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

我也尝试将表结构转换为utf8_unicode_ci但面临同样的问题

CREATE TABLE `aml_word` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `word` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `word` (`word`),
  KEY `idx_aml_word_status` (`word`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

mysql 5.6版

当插入查询在mysql命令行中运行时,它在urdu中插入很好但是当我使用mybatis ORM插入代码然后创建问题。

1 个答案:

答案 0 :(得分:0)

  

在(mt)Media Temple上MySQL的默认字符集是latin1,   使用latin1_swedish _

的默认排序规则

所以你需要改变你的校准

尝试使用此查询

ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;

遵循本教程

https://mediatemple.net/community/products/dv/204403914/default-mysql-character-set-and-collation#gs