mysql>use mydb;

mysql>alter database mydb  character set utf8;!

这种方法只对设置后重新创建的表有效,对已存在的表无效

desc tablename 查看表结构
解决字符编码
http://hideto.javaeye.com/blog/97803

MySQL修改数据库编码为UTF8
2013-06-24 00:00 中国IT实验室 佚名
关键字:mySQL

  mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防。制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

  网页数据一般采用UTF8编码,而数据库默认为latin 。我们可以通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,也能最大限度的避免因粗心造成的乱码问题。

  我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来

  我们可以通过命令查看数据库当前编码:

  mysql> SHOW VARIABLES LIKE 'character%';

  发现很多对应的都是 latin1,我们的目标就是在下次使用此命令时latin1能被UTF8取代。

  第一阶段:

  mysql设置编码命令

  SET character_set_client = utf8;

  SET character_set_connection = utf8;

  SET character_set_database = utf8;

  SET character_set_results = utf8;

  SET character_set_server = utf8;

  然后 mysql> SHOW VARIABLES LIKE 'character%'; 你可以看到全变为 utf8 。

  但是,这只是一种假象

  此种方式只在当前状态下有效,当重启数据库服务后失效。

  所以如果想要不出现乱码只有修改my.ini文件,

  从my.ini下手(标签下没有的添加,有的修改)

  [client]

  default-character-set=utf8

  [mysql]

  default-character-set=utf8

  [mysqld]

  default-character-set=utf8

  以上3个section都要加default-character-set=utf8,平时我们可能只加了mysqld一项。

  然后重启mysql,执行

  mysql> SHOW VARIABLES LIKE 'character%';

  确保所有的Value项都是utf8即可。

  但是可恶的事情又来了,

  |character_set_client | utf8 |

  | character_set_connection | utf8 |

  | character_set_database | utf8 |

  | character_set_filesystem | binary |

  | character_set_results | utf8 |

  | character_set_server | latin1 |

  | character_set_system | utf8

  注意 该配置| character_set_server | latin1 无法设置成UTF8 交互时候仍然会出现乱码。

  第二阶段:找到下面这东东

  X:\%path%\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe

  重新启动设置,将默认编码设置为utf8.这样就能达到我们所要的效果了。

  mysql> SHOW VARIABLES LIKE 'character%';

  +--------------------------+---------------------------------------------------------+

  | Variable_name | Value |

  +--------------------------+---------------------------------------------------------+

  | character_set_client | utf8 |

  | character_set_connection | utf8 |

  | character_set_database | utf8 |

  | character_set_filesystem | binary |

  | character_set_results | utf8 |

  | character_set_server | utf8 |

  | character_set_system | utf8 |

  | character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |

  +--------------------------+---------------------------------------------------------+

  8 rows in set

  另外注意事项:

  1、建表时加utf8,表字段的Collation可加可不加,不加时默认是utf8_general_ci了。

  CREATE TABLE `tablename4` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `varchar1` varchar(255) DEFAULT NULL,

  `varbinary1` varbinary(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

  ) ENGINE=MyISAM DEFAULT CHARSET=utf8

  2、网页xxx.php/jsp保存时选择utf8编码,页头最好加上

  header('conten-type:text/html;charset=utf-8');

  在执行CRUD操作前先执行一下

  mysql_query("set names utf8");

  -------------------------

  连接数据库设置编码

  jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

  -------------------------

  java中的常用编码UTF-8;GBK;GB2312;ISO-8859-1;

  对应mysql数据库中的编码utf8;gbk;gb2312;latin1返回比特网首页>

mysql解决中文乱码的更多相关文章

  1. Mac mysql 解决中文乱码

    Mac mysql 解决中文乱码问题 出现"???"之类的无法识别的乱码 到/etc目录下自己建一个my.cnf文件(需要最高权限,使用sudo su),然后写入内容: [clie ...

  2. 再谈 Mysql解决中文乱码

    一是要把数据库服务器的字符集设置为 utf8. 数据库的字符集会跟服务器的字符集一起变化, 也会变成 utf8: 在/etc/my.cnf中, 的 [mysqld]中, 设置 character-se ...

  3. mysql解决中文乱码问题

    安装文件 my.ini default-character-set=gbk 安装文件 db.opt default-character-set=gbkdefault-collation=gbk_chi ...

  4. 分享一个解决MySQL写入中文乱码的方法

    分享一个解决MySQL写入中文乱码的方法 之前有发帖请教过如何解决MySQL写入中文乱码的问题.但没人会,或者是会的人不想回答.搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件 ...

  5. mysql保存中文乱码的原因和解决办法

    当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心.    也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类 ...

  6. 【原创】通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0...

    这篇blog重点在解决问题,如果你对字符编码并不是特别了解,建议先看看 < [原创]通俗易懂地解决中文乱码问题(1) --- 跨平台乱码 >. 当然,如果只是针对解决这个Mysql插入报错 ...

  7. 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0...

    原文:[原创]通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 'incorrect string value: '\xF0... 这篇blog重点在解决问题,如果你对 ...

  8. python之MySQL MySQLdb 推荐使用姿势,解决中文乱码

    0.目录 2.setup(1) 安装步骤,可以顺带安装mysql administrator和mysql query browser(2) 安装完毕,修改 my.ini(3) 重启 mysql 服务: ...

  9. MySQL 5.5版本解决中文乱码问题时my.ini内[mysqld]项中不能再写default-character-set=utf8

    来看看如何解决乱码问题: 在mysql中默认字符集是latin1, 想要设置字符集为uft-8,可以在 my.cnf 文件中添加以下设置: [client] default-character-set ...

随机推荐

  1. 原生app与js交互 jsSDK设计

    var UA = window.navigator.userAgent.toLowerCase()var isIOS = UA && /iphone|ipad|ipod|ios/.te ...

  2. HashMap和TreeMap的常用排序方法

    一.简单描述 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,HashTable以及LinkedHashMap等. TreeMap:能够把它保存的记录根据键(key)排序 ...

  3. 组队训练3回放 ——hnqw1214

    组队训练3回放 练习赛过程回放: 开场先看最后一题, 发现是专题训练时做过的网络流原题, cst照着之前的打一遍,第一遍WA, 发现数组开小了,改大后AC. 这时候qw看B题, 一开始想不到方法, c ...

  4. Bootstrap多层模态框modal嵌套问题

    一.问题 在项目里忽然新加了一个需求,在原本弹出的模态框里,点击模态框里面的按钮再弹出一个模态框,出来另个模态框来展示详细信息.此时就存在两个模态框在这个需求没加之前有一个弹出的模态框也是需要继续点击 ...

  5. SecureCRT介绍、安装、使用(转)

    http://blog.csdn.net/liang19890820/article/details/49701429 简介 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简 ...

  6. IIS配置支持apk文件下载

    写在前面 最近项目中涉及到移动端的东西,有一个功能是要下载apk文件,apk为安卓安装程序,但是iis默认是不支持该类型的文件下载的. 解决方案 找到该站点,并切换到功能视图 找到MIME类型,双击进 ...

  7. 人生中的那口井 z

    有两个和尚住在隔壁,每天都会在同一时间下山去溪边挑水,不知不觉己经过了五年. 突然有一天,左边这座山的和尚没有下山挑水,过了一个星期,还是没有下山挑水. 直到过了一个月,右边那座山的和尚很担心就去探望 ...

  8. CSS属性clip

    http://blog.sina.com.cn/s/blog_68a1582d0100kp59.html CSS属性中有个裁剪属性clip,其实我对这个属性一点都不感冒,因为我感觉它好像没啥用处,但是 ...

  9. iOS -- iOS11新特性,如何适配iOS11

    前言 这几天抽空把WWDC的Session看了一些,总结了一些iOS11新的特性,可能对我们的App有影响,需要我们进行适配.本文作为一个总结. 本文内容包括:集成了搜索的大标题栏.横向选项卡栏.Ma ...

  10. zfighting 的问题

    1.对每个mesh 在脚本里加bias 由美术勾 {a. vertex shader b. depth bias slop depth bias rasterizateState} 2.inverse ...