一)不能显示中文解决办法:

参考:http://bbs3.chinaunix.net/thread-880131-1-1.html

1:windows平台,因为windows操作系统默认的是用了gb2312这个字符,而mysql在安装的时候,

  默认的是客户端和服务器都用了latin1,所以这就导致一个字符集和字符校验不匹配的问题,

  这个时候只需要找到mysql的配置文件my.ini 找到default-character_set ,把他的参数改

  成gb2312就可以了,一共有两个这样的参数,一个是对客户的,一个是服务器的,我一般建

  议是把服务器的设置成国际通用的字符utf8。
  2: linux平台,在linux平台上安装mysql的时候,给于的自由度是很大的,你可以在安装

  选项./configure中找到数据库的字符设置(这个还要麻烦你自己看readme安装文件 ),这个时

  候最好是把字符设置成gbk,因为这个字符集也是linux平台默认安装的中文字符集,然后

  在/etc下找到my.cnf文件(这个文件在安装mysql后要自己把他转移到/etc/下,除非你是

  rpm安装).需要注意的是linux里的很多工具都是不支持中文的,哪怕是vi,你可以在startx

  后执行命令kwrite,来编译文件,这个图形变异软件有一个选项是可以把你所写的东西转换

  成任意的字符集,很不错,

二)不能插入中文解决办法:

参考:http://blog.csdn.net/ancky_zhang/archive/2008/10/15/3078540.aspx

查看表的结构:mysql> show create table users;

mysql> show create table users;
  +-------+-----------------------------------------------------------------------
  ------------------------------------------------------------------------------+
  | Table | Create Table
  |
  +-------+-----------------------------------------------------------------------
  ------------------------------------------------------------------------------+
  | users | CREATE TABLE `users` (
  `userid` int(11) default NULL,
  `username` char(20) character set latin1 default NULL
  ) ENGINE=InnoDB DEFAULT CHARSET=gbk |
  +-------+-----------------------------------------------------------------------
  ------------------------------------------------------------------------------+
  1 row in set (0.00 sec)

这时向表中插入中文然后有错误。
  mysql> insert into users values(88,'中文');
  ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'usern
  ame' at row 1
  mysql> insert into users values(88,'中文');
  ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'usern
  ame' at row 1

  还要更改users表的username的字符集。
  mysql> alter table users modify username char(20) character set gbk;
  ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern
  ame' at row 1
  mysql> alter table users modify username char(20) character set gbk;
  ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern
  ame' at row 1

因为表中已经有数据,所以更改username字符集的操作没有成功
  清空users表中的数据
  mysql> truncate table users;
  Query OK, 3 rows affected (0.01 sec)

  从新更改user表中username的字符集
  mysql> alter table users modify username char(20) character set gbk;
  Query OK, 0 rows affected (0.06 sec)
  Records: 0 Duplicates: 0 Warnings: 0

  这时再插入中文字符,插入成功。
  mysql> insert into users values(88,'中文');
  Query OK, 1 row affected (0.01 sec)

  mysql> select * from users;
  +--------+----------+
  | userid | username |
  +--------+----------+
  | 88 | 中文 |
  +--------+----------+
  1 row in set (0.00 sec)

下面是我自己的一个例子

mysql 不能插入中文和显示中文的更多相关文章

  1. MAC下 mysql不能插入中文和中文乱码的问题总结

    MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...

  2. 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题

    首先,推荐一篇博客:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当时,我安装完mysql数据库后,新建一个数据库后插入数据 ...

  3. git status 显示中文和解决中文乱码

    目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解决中文乱码 git status 显示中文和解决中 ...

  4. Windows下Git中正确显示中文的设置方法

    Windows下Git中正确显示中文的设置方法 具体设置方法如下: 进入目录etc:$ cd /etc 1. 编辑 gitconfig 文件:$ vi gitconfig.在其中增加如下内容: [gu ...

  5. git bash中不能显示中文

    git bash中不能显示中文 问题描述:当使用git log查看提交日志时,中文字符不能正常显示问题 1.首先把git的配置改一下 git config --global core.quotepat ...

  6. window系统mysql无法输入和无法显示中文的处理配置

    第一步:使用记事本打开mysql安装目录下的"my.ini”文件. # MySQL client library initialization. [client] port= [mysql] ...

  7. MySQL 存储php中json_encode格式中文问题及解决

    MySQL 存储php中json_encode格式信息  ,遇到中文时, 会变成一堆类似uxxxx信息. 1. 原因分析:在存储到数据库时!MySQL 不会存储 unicode 字符: MySQL 仅 ...

  8. 如何在windows的DOS窗口中正常显示中文(UTF-8字符)

    打开CMD.exe命令行窗口,通过 chcp命令改变代码页 UTF-8的代码页为65001,ANSI/OEM - 简体中文 GBK为936,window default OEM - 美国为437 如果 ...

  9. Linux中vi显示中文乱码的问题

    由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码.修改了一下配置文件,使vi支持gb编码就好了.$vi ~/.vimrclet &a ...

随机推荐

  1. linux下sprintf_s函数的替代

    error code: ]; sprintf_s(buf, , "predicted position:(%3d, %3d)", predict_pt.x, predict_pt. ...

  2. for (Sms sms : smsLists){}

    for (Sms sms : smsLists){ } //类似下面的for循环 :Smslists[i]!=NULL;i++) { Sms sms=Smslists[i]; } /*其实就是把Sms ...

  3. Luogu 3245 大数

    Luogu 3245 大数 开始就想 \(10\) 进制 \(hash\) ,\(Hash(r)\equiv Hash(l-1)\cdot 10^{r-l+1}\) ,感觉没什么美妙的性质啊... 然 ...

  4. FZU OJ 1075 :分解素因子

    Problem 1075 分解素因子 Accept: 2161    Submit: 4126Time Limit: 1000 mSec    Memory Limit : 32768 KB  Pro ...

  5. HDU 2009

    求数列的和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. pylot压力测试工具

    博客搬家了,欢迎大家关注,https://bobjin.com 由于版本的兼容性问题,现在在windows下搭建pylot+matplotlib压力测试环境真的会令人吃尽苦头.这是因为,pylot从2 ...

  7. 使用python的Paramiko模块登陆SSH

    使用python的Paramiko模块登陆SSH paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块 ...

  8. xhan/qqbot试用

    xhan/qqbot试用 啥是qqbot?基于WebQQ协议的QQ机器人.命令行工具,Hubot支持! 怎样安装?首先要安装CoffeeScript windows:安装nodejs:主页上就有下载C ...

  9. ORA-32004 的错误处理

    启动数据库时,收到了ORA-32004 的错误,错误多是一些过时且在当前版本中不在使用的参数,如果碰到类似的错误,只需要将其 reset即可. SQL> startup;ORA-32004: o ...

  10. mysql ssh 端口转发

    某些时候 mysql  只允许 指定的 ip连接 .这时候怎么在本机 连接mysql 的呢? 条件 1 mysql 只有 允许 指定ip连接 2 有连接 指定 ip 服务器的  账密 这时候我们可以通 ...