Hi, 鐠囬娅ヨぐ锟�    閹存垼顩﹀▔銊ュ斀
    閸忓厖绨幋鎴滄粦 | 閼辨梻閮撮幋鎴滄粦 閹舵洜枪
鐠佸潡妫堕幍瀣簚缁旓拷11jn楠炲疇顢戝ù搴″础

  • 閸旂姴鍙哬ouGov,閸欏倷绗岄張澶庡彯閻ㄥ嫰妫堕崡锟�
  • 娴滎兛绗�,閹风厧顦挎径锟�,濞fê鐤傛径鈺冨皸娑撯偓缂冩垶澧︾亸锟�
  • 閼瑰墽鎲虹拫鍐埡iclick,婵夘偊妫堕崡宄板幀閻滀即鍣�
  • 婢额喛顫嬬敮鍌氭簚閻梻鈹抜ctr,婵夘偊妫堕崡宄板幀閻滀即鍣�
  • 閹额澀绱幆鐘插煖:娴滎兛绗�,閹风厧顦挎径锟�,濞fê鐤傛径鈺冨皸
  • 鐠嬪啯鐓¢柅姝瀒aochatong,婵夘偊妫堕崡宄板幀閻滀即鍣�
鐏炶鲸鎸夋稉搴㈡⒕濞擄拷 鏉烇箑鐡�
閸樺棗褰舵稉搴㈡瀮閸栵拷 閹村灝鐡�
  • 妫f牠銆�
  • 閹存垹鍩嶉幋鎴濐啀
    • 閸忓磭鍩嶉懓浣稿嬀娴滐拷
    • 閸涘灚濮㈡稉瀣╃娴狅拷
  • 閺屽鑳屽▽鍦磦闁伴亶鍞婚懠锟�
  • 闂堟帗妲畝浣规箑
    • 閻戭叀顢呴棃鎺戝嬀
    • 娴滃搫鍩屾稉顓炲嬀

对 mysql Illegal mix of collations (gbk_chinese_ci,IMPLICIT)

添加时间:18-03-09 所属分类:PHP工具与代码
  对于常见的乱码问题,有的在数据库本身已经为gbk或gb2312时候,但是查询出来却是乱码,这是因为mysql在连接的过程中还有道编码,因此将连接的编码设为gb2312或utf-8

即可,如:

jdbc:mysql://localhost:3306/ipanel?useUnicode=true&characterEncoding=UTF-8

hibernate和jdbc的参数设置是不一样,但大体相同,网上类似的资料很多。

最重要的是这个问题:

Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (gb2312_chinese_ci,IMPLICIT) for operation '='

相信有很多人碰到,意思是说字符编码不一样,不能进行比较,也就是说数据库内部的编码都不一样,有的数据是

gbk_chinese_ci,有的数据是gb2312_chinese_ci,因此解决此问题的核心就是将数据库所有的编码进行统一。

进入命令行模式,

如果MySQL数据库已经安装好,可以使用下列SQL命令查看MySQL当前的字符集设置:
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)

mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)

依次执行:

[code]set character_set_client =gb2312;
set character_set_connection =gb2312;
set character_set_database =gb2312;
set character_set_results =gb2312;
set character_set_server =gb2312;
set character_set_system =gb2312; --此处utf-8也可以[/code]

然后执行:

[code]SET collation_server = gb2312_chinese_ci

SET collation_database = gb2312_chinese_ci

SET collation_connection =gb2312_chinese_ci
[/code]
执行完之后,请检查mysql下每个数据库,表,字段是否都是gb2312,不是则改过来,这样子就不会出现

Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (gb2312_chinese_ci,IMPLICIT) for operation '='这个错误了,网上有资料说要重装,其实根本就不必,改动其编码即可 娑撳鍩嶉崗瀣焿閿涳拷閸忓牓顣崚锟�閿涘本绐愮€规繂銇夐悮顐礉娴滎兛绗㈤崯鍡楃厔閿涘本瀚炬径姘樋娑撯偓缂冩垶澧︾亸锟�

前篇:mysql中gbk_chinese_ci与gbk_bin区别 后篇:php输出乱码的解决
发表我的评论



推荐文章   博士快递哥:用两只手挣钱吃饭 经手60万...   探访试管婴儿受孕女性群体:求子的焦虑...   她10岁当保姆,60岁蹲监狱,75岁靠做家...   济南“狗屎山”要被铲了?这座最矮的山...   国内首家电竞学院:学生大多都是富二代...
随机文章   PHP解决网址URL编码问题的函数urlencod...   php \u开头的编码(unicode) 转成中文   kbanka.com使用并修复帝国CMS政府红色模...   PHP获取Cookie模拟登录   PHP curl函数模拟爬虫(操作cookie刷贴实...
广告

其他推荐

濞村骸宕℃蹇擃啀鎼达拷 JN5A 鏉烆垯娆㈤弲鍝勫触 閸熷﹣绗侀崶锟�

閸忓秷鐭楁竟鐗堟閿涙碍婀扮純鎴炲閺堝鍞寸€圭懓娼庢潪顒冩祰閼奉亜鍙剧€瑰啫鐛熸担鎿勭礉鏉烆剝娴囬惄顔炬畱閸︺劋绨导鐘烩偓鎺撴纯婢舵矮淇婇幁顖ょ礉楠炴湹绗夋禒锝堛€冮張顒傜秹鐠х偛鎮撻崗鎯邦潎閻愮懓鎷扮€电懓鍙鹃惇鐔风杽閹嗙鐠愶絻鈧倹婀扮純鎴f祮鏉炶棄鍙炬禒鏍х崯娴f挷绠g粙澶告閿涘本鍓伴崷銊よ礋閸忣兛绱幓鎰返閸忓秷鍨傞張宥呭閵嗗倸顩х粙澶告閻楀牊娼堥崡鏇氱秴閹存牔閲滄禍杞扮瑝閹啿婀張顒傜秹閸欐垵绔烽敍灞藉讲娑撳孩鍨滈懕鏃傞兇email:atseashawk@163.com閿涘本鍨滈弨璺哄煂閹劎娈戦柅姘辩叀閸氬簼绱扮亸鍡楀従閹俱倝娅庨敍宀冮樋鐠嬧偓鈧拷 因为本站所有内容均转载自其它媒体,本意为公众提供免费服务,但并不代表本网赞同其观点,也不能对其真实性验证负责,如稿件版权单位或个人不想在本网发布,请与我联系,本人会立即将其撤除,谢谢.联系方式:atseashawk@163.com QQ:99289555