Mysql关联两张表时,产生错误提示Illegal mix of collations

1、先用工具把数据库、两张表的编码方式改变

2、这步很重要,需要改变字段的编码方式。

ALTER TABLE `表名` CHANGE `dev_chancode` `字段` VARCHAR(32) CHARACTER SET gbk NOT NULL;

总结:在建表时一定注意统一的编码方式,后续搞来搞去超级麻烦。

如何解决MySQL表编码转换问题

  1. 将待导出的数据表的表结构导出(可以用Phpmyadmin、mysqldump等,很简单就不说了),然后将导出的create table语句的CHARSET=latin1改为CHARSET=utf8,在目标库newdbname中执行该create table语句把表结构建好,接下来开始导出-导入数据。命令:
  2. ./mysqldump -d DB_Dig > /usr/local/tmp/tables.sql
  3. 命令行:进入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname
  4. 执行SQL select * from tbname into outfile '/usr/local/tbname.sql';
  5. 将tbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的'转换->ASCII到UTF-8(Unicode编辑)',或者将文件另存为UTF-8(无BOM)格式
  6. 在mysql命令行下执行语句 set character_set_database=utf8; 注:设置mysql的环境变量,这样mysql在下一步读取sql文件时将以utf8的形式去解释该文件内容
  7. 在mysql命令行下执行语句 load data infile 'tbname.sql' into table newdbname.tbname;

更多相关文章

  1. Android,LIstView中的OnItemClick点击无效的解决办法
  2. 华为手机Android(安卓)Studio开发不显示Logcat解决办法
  3. 安卓9.0 http请求数据失败解决办法
  4. Android(安卓)Studio 导入包时报 Duplicate files copied in APK
  5. Android(安卓)启动时闪一下黑屏问题的解决办法
  6. Android(安卓)webview Not allowed to load local resource异常
  7. Android(安卓)SDK Manager更新版慢解决办法
  8. 关于新版SDK报错You need to use a Theme.AppCompat theme的两种
  9. Android小问题解决办法记录

随机推荐

  1. Android:BadTokenException: Unable to ad
  2. android 字符串加解密算法
  3. Android-BLE低功耗蓝牙开发
  4. 很好的资源 for android
  5. android中textview设置为多行文本时,如何
  6. Android最新版本号与API级别对应关系
  7. android 应用程序不出现在最近打开程序列
  8. 2013.08.29——— android ObjectAnimato
  9. android 开发中总结的一些经验
  10. Android自动化测试之MonkeyRunner-之getP