zoukankan      html  css  js  c++  java
  • mysql中文乱码问题

    1、mysql客户端在插入中文字符的时候可能出现乱码问题。

      原因:  要解决字符集的问题,首先要知道现在的系统、数据库、表、客户端等使用什么样的字符集,以及系统支持什么字符集等。

    2、我百度了好多,说的不是很明确,所以我总结了一下原因。

      我在我的数据库中插入数据的时候出现了这个错误:Incorrect string value: 'xB2xE2xCAxD4' for column 'name' at row 1。

      其实我安装mysql数据库的时候设置的编码就是utf8,而且我的各个表的字段的值也是utf8。

      下面是查看字符集的一些命令:

      (1)查看数据库的所有字符集

         show character set;或者show char set;

      (2)查看当前状态,包含字符集的设置。

         status或者/s

      (3)查看系统字符集设置

          show variables like '%char%';

      (4)查看数据库表中的字符集设置

         show full columns from tablename; 

      (5)查看数据库的编码

        show create database dbname;

    3、修改cmd客户端的编码

      (1)查看cmd当前的编码

        chcp

      (2)修改当前的编码为utf8

        chcp 65001

       (3) 修改当前的编码为gbk

        chcp 936

      (4)修改当前的编码为美国英语

        chcp 437

       修改完了之后,在cmd属性下,修改字体。

    4、设置字符集

      (1)设置服务端的字符集的编码

        在安装MySQL时可以设置服务器的默认编码格式,也可对my.ini做修改,修改[mysqld]里面的character_set_server=utf8,则可设置character_set_server的值。

      (2)设置数据库的字符集编码

        CREATE DATABASE db_name DEFAULT CHARACTER SET utf8;

      (3)设置数据库表的字符集编码

        CREATE TABLE `db_name`.`tb_name` (id VARCHAR(50) NOT NULL,name VARCHAR(50) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

      (4)设置数据库表的列级别的字符集编码

        CREATE TABLE `db_name`.`tb_name` ( id varchar(50) NOT NULL, name varchar(50) CHARACTER SET utf8 );

      (5)在客户端下设置字符集,

        set names gbk;

    5、我的这个问题就是在客户端下设置的set names gbk显示出来的是中文,客户端的编码改了好多次都没有改过来。这次,我是在navicat上登录之后,进行的插入,这样插入不会出现乱码。

      参考资料:http://blog.csdn.net/sunboyzsm/article/details/17511511   mysql客户端窗口的编码怎么改成UTF-8的

          http://ldgliguang.blog.163.com/blog/static/818458201303111452568/   改变cmd编码

          http://www.jb51.net/article/46869.htm     在Windows的CMD中如何设置支持UTF8编码?

  • 相关阅读:
    研修班第四次课笔记
    形象革命——穿搭
    对管理者的几点要求
    全链路压测
    项目管理最忌的5件事,千万不要忽视!
    2018年计划小目标(9月)PMP
    NLP是什么
    (深度好文)重构CMDB,避免运维之耻
    《转》我们不得不面对的中年职场危机
    项目管理,让自己更从容
  • 原文地址:https://www.cnblogs.com/lixiaochao/p/5512065.html
Copyright © 2011-2022 走看看