• ADADADADAD

    Mysql (三)Mysql 编码问题[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:10:46

    作者:文/会员上传

    简介:

    处理mysql 编码问题 我们经常会遇到一些向MySQL数据库中插入中文,但是select出来的时候,却是乱码。 一、查看库、表字符集命令1.查看数据库支持的所有字符集Show  characte

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    处理mysql 编码问题

     

    我们经常会遇到一些向MySQL数据库中插入中文,但是select出来的时候,却是乱码。

     

    一、查看库、表字符集命令

    1.查看数据库支持的所有字符集

    Show  character set (show char set)

     

    2.查看当前状态,里面当然包括字符集的设置

    Status (/s)

     

     

     

    3.查看系统字符集设置,包括所有的字符集设置

    Show  variables like  ‘%char%’;


    4.查看数据表中字符集设置

    Show  full columns  from  tablename ;

    也可以查看表结构

    Show  create table  tablename\G;

    5.查看数据库编码(数据库结构)

    Show  create database  dbname;//创建数据库指定的字符集

     

    二、创建库表列时要指定字符集(要统一)

    1、服务器级

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

    2.数据库级

    Create  database   dbname default  character  set utf8;

    注意,如果不指定默认的字符集,则系统会根据character_set_database的值进行设置

    3.表级

    Create  table dbname.tbname(id varchar(20) not null, name vharchar(20))engine=innoDB  default  charset=utf8;

    注:定义表的默认字符集为utf8,即使character_set_database为gbk,但是表的列都为utf8。如果没有定义表的默认字符集,则他会按照character_set_database的值来设置

     

    4.列级

    Create  table db1.tb2(id  varchar(20)  not null, name  varchar(20)  character set utf8);

    注:如查没有指定列字符集、就使用表字符集、如查指定了就使用指定的。

    图中:show  create table db1.tb2//是查看表结构

     

    三、修改字符集

    1.修改character_set_connection、character_set_client、character_set_results三值

    对于一个连接来说、可以用

    Set names  utf8来使用上面三个值改成utf8;

    Set name  ‘charset_name’; 相当于

    Set character_set_client = charset_name;

    SET character_set_results = charset_name; 

    SET character_set_connection = charset_name;

     

    2.修改character_set_database字段(也就是改数据库字符集)

    Alter  database db_name  default  character set  charset_name;

     

     

    3.修改character_set_server字段

    最简单的方法是直接改my.ini配置文件里面[mysqld]的字段,增加character-set-server=gbk,然后重启mysqld,则可改为你想要的字符集。

     

    4.修改表的字符集

    Alter  table tbname  default  character set  charsetname;

    Alter  table tb1  default  character set  utf8

     

    5.修改列的字符集

    Alter  table tbname  modify  age varchar(30)  character  set utf8;

     

    总结:

    1、建库、建表、建字段设置统一编码。

    2、PHP作为mysqle服务器客户端、连接编码set names utf8/gbk;

    3、设置php返回给浏览器数据的编码。(Content-Type,header(),<meta>)

    <meta http-equiv="Content-Type"content="text/html; charset=gb2312" />

    header("Content-type:text/html;charset=utf-8");

    4、Php文件本身保存的编码(文件编码、通过文本编辑器设置)

    5、安装mysql时设置好编码。(装好后可修改my.ini)

     

     

    微信扫一扫 、关注公众号

       不定时分享资料视频

    Mysql (三)Mysql 编码问题.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlmysql编码