您的位置:新葡亰496net > 网络数据库 > mysql使用蒙受,字符编码

mysql使用蒙受,字符编码

发布时间:2019-08-31 01:13编辑:网络数据库浏览(130)

    问题一:

    mysql使用中遇到的难点,mysql使用碰到

    问题一: 首先次mysql运营服务退步,未归来报错新闻 消除格局: 奉行mysqld -console命令,查看error音讯,因人而异但一般意况下,主假使因为mysql目录下的data文件夹中剧情不科学,消除措施有以下三个1.在张开服务前施行初阶化命令 mysqld --initalize 然后运行服务 2.下载5.6或事先版本的mysql压缩包 将滑坡包解压后里面包车型大巴data文件夹复制到当前mysql所在文件夹根目录中 然后运维服务 无论是第3个操作依旧其次个操作,记得先关掉服务在操作,操作完了再展开服务   难点二: mysql缺少performance_schema.session系统表导致各样主题素材 化解方法: 使用以下四个指令后重启服务(windows下关闭再展开) mysql_upgrade -u root -p mysql_upgrade -u root -p --force   问题三: 在mysql中插入数据时选用中文报错,Error Code: 1366. Incorrect string value。 消除格局: 供给落成以下几步,若首先不能到位可先跳过,只影响数据库中已有内容,不过为了保险新的数据库、数据表可写中文,第二三步应当要科学。 1.设置mysql的编码,统一改为utf8(因为utf8是包容性比较强的编码,假若急需动用另外语言也得以修改为任何的编码) 展开mysql的根目录, 新建文件my.ini然后将my-default.ini中内容复制到my.ini然后剔除my-default.ini文件, 在my.ini文件的[mysqld]一对上面加一个语句character_set_server=utf8, 随后关闭mysql服务再开发银行mysql服务。 登入步入mysql后,别采取别的数据库,直接行使s命令查看字符集编码,查看server这一项的编码是还是不是为utf8,若是是的话纵然成功 剩下的client和conn应该默以为gbk,假设不是的话能够再英特网搜一搜设置方式至于DB的编码,其实是和数据库有关的,当最开首三翻五次入mysql时,其实是选拔了sys数据库(暗许的体系数据库),等做了下边包车型地铁第二步后再选取任何数据库之后再采纳s命令,你们就能够意识不同。   2.在新建数据库时,将数据库设置为utf8编码 做了这一步,你就能够开掘你刚成立的数据库的DB字符集编码一定是utf8,也保障了你新建的数据库能够输入汉语。 具体如下 CREATE DATABASE 数据库名字 CHARACTE索罗德 SET 'utf8'; 3.假使数据库的编码未安装,而你要么想输入粤语,那么您需求在新建数据表的时候对表的编码进行设置 如下代码段,创设多少个字段,使用CHARACTE智跑 SET 'utf8'代码把表中的具有字段改为utf8格式 CREATE TABLE 表名称 ( 一大堆字段 )CHARACTE奥德赛 SET 'utf8';   以上步骤尽量在mysql安装配置的时候就完了,防止不供给的难为,或然至少达成第二第三步。

    难点一: 第三回mysql运行服务失败,未归来报错新闻 化解办法:实施 mysqld -console 命令,查看error新闻...

    通透到底消除mysql普通话乱码的法子,修改mysql解压缩版(免安装版或zip版)字符编码

    MySQL会晤世粤语乱码的缘由除了下列几点:

     

    1.server自个儿设定难题,举个例子server字符编码还栖息在latin1

     

    2.table的语系设定难题(包涵character与collation)

     

    3.客商端程式(举个例子php)的连线语系设定难题

     

    刚强建议使用utf8!!!!

     

    utf8能够相配世界上保有字符!!!!

     


     

    一、windows下Mysql插入普通话展现乱码应用方案:对于mysql解压缩版(免安装版或zip版)实行设置字符编码

     

    1、

     

    当大家把zip文件格式解压到钦定目录后,并且成功大旨条件布署后,展开mysql

    深透消除mysql普通话乱码的措施,修改mysql解压缩版(免安装版或zip版)字符编码,mysqlzip

    MySQL会产出中文乱码的原因除了下列几点:
    1.server自个儿设定难题,举例
    server字符编码还停留在latin1
    2.table的语系设定难点(蕴含character与collation)
    3.顾客端程式(比方php)的连线语系设定难题
    刚强建议使用utf8!!!!
    utf8能够包容世界上富有字符!!!!


    一、windows下Mysql插入汉语展现乱码解决方案:对于mysql解压缩版(免安装版或zip版)实行设置字符编码

    1、

    当大家把zip文件格式解压到钦定目录后,並且落成大旨条件安插后,张开mysql 5.6.24会意识名叫【my-default.ini】的文书。我们用记事本张开该文件会发觉并未【default-character-set = xxx】或许【character_set_server=xxx】,怎么回事呢?英特网提交的浩大情势都以直接修改那句话的xxx为utf8,不急,上边请看第二步:

    2、

    复制该公文,而且命名字为【my.ini】,那样根目录下就有五个.ini文件了,壹个是my-default.ini,贰个是my.ini 。接下来我们只需修改my.ini里面包车型地铁原委就行了。请看第三步:

    3、

    修改【my.ini】,

    在[mysqld]上面加多character_set_server=utf8,注意是【utf8】不是【utf-8】并且后边没有任何标点符号;

    在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】那句话前边再增添三行:

    [client]
    port=3306
    default-character-set=utf8

    4、

    通过以上三步就ok了。保存后重启服务器,登录后在命令行输入:【show variables like 'char%';】可查阅暗中认可字符集如下图所示:

    图片 1

    5、

    小编的【my.ini】代码,铁红代码区为修改之处:

    # For advice on how to change settings please see
    #
    # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
    # *** default location during install, and will be replaced if you
    # *** upgrade to a newer version of MySQL.

    [mysqld]

    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    # innodb_buffer_pool_size = 128M

    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin

    # These are commonly set, remove the # and set as required.
    basedir = D:mysql-5.6.24-winx64
    datadir = D:mysql-5.6.24-winx64data
    port = 3306
    # server_id = .....
    character_set_server=utf8

    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    # join_buffer_size = 128M
    # sort_buffer_size = 2M
    # read_rnd_buffer_size = 2M

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [client]
    port=3306
    default-character-set=utf8

    二、LInux下Mysql插入汉语显示乱码实施方案

    mysql -uroot -p 回车输入密码

    走入mysql查看情况如下:

    图片 2

    mysql不能够插入普通话

    暗许的是客商端和服务器都用了latin1,所以会乱码。

                应用方案:直接修改暗中认可的Mysql配置文件通透到底化解mysql无法插入汉语和国语乱码的不二秘技

    一、步向mysql(mysql -uroot -p),查看当前数据库字符集(status;)

    二、查看当前系统版本(lsb_release -a)

    图片 3

    Mysql无法插入中文

    三、#vim /etc/mysql/my.cnf 。(5.5在先系统)在【client】上边步入 default-character-set=utf8

    在【mysqld】上面步向default-character-set=utf8

    Notice:注意 要是改变后无法运行报错试试把default-character-set=utf8改为character_set_server=utf8,仅仅参预到mysqld下边包车型客车.client就没有须要加了

    四、#vim /etc/mysql/my.cnf 。(5.5自此系统)如下修改:

    [client]
    default-character-set=utf8

    [mysqld]
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci

    五、重启mysql(/etc/init.d/mysql stop   /etc/init.d/mysql  start)

    六、修成成功,踏入mysql查看字符集(mysql>show variables like ‘character_set_%’;)

    图片 4

                                  Mysql无法插入汉语

    三、幸免创设数据库及表出现普通话乱码和查看编码方法
         1、创设数据库的时候:CREATE DATABASE `test`
    CHARACTER SET 'utf8'
    COLLATE 'utf8_general_ci';
         2、建表的时候 CREATE TABLE `database_user` (
    `ID` varchar(40) NOT NULL default '',
    `UserID` varchar(40) NOT NULL default '',
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    那3个设置好了,基本就不会出难点了,即建库和建表时都利用同一的编码格式。
    而是一旦您曾经济建设了库和表能够经过以下措施举办查询。
    1.查看暗中认可的编码格式:
    mysql> show variables like "%char%";
    -------------------------- ---------------
    | Variable_name | Value |
    -------------------------- ---------------
    | character_set_client | gbk |
    | character_set_connection | gbk |
    | character_set_database | utf8 |
    | character_set_filesystem | binary |
    | character_set_results | gbk |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    -------------------------- -------------
    注:以前2个来鲜明,可以运用set names utf8,set names gbk设置默许的编码格式;

    试行SET NAMES utf8的机能同样同一时间设定如下:
    SET character_set_client='utf8';
    SET character_set_connection='utf8';
    SET character_set_results='utf8';

        2.查看test数据库的编码格式:
    mysql> show create database test;
    ------------ ------------------------------------------------------------------------------------------------
    | Database | Create Database |
    ------------ ------------------------------------------------------------------------------------------------
    | test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |
    ------------ ------------------------------------------------------------------------------------------------

        3.查看yjdb数据库的编码格式:
    mysql> show create table yjdb;
    | yjdb | CREATE TABLE `yjdb` (
    `sn` int(5) NOT NULL AUTO_INCREMENT,
    `type` varchar(10) NOT NULL,
    `brc` varchar(6) NOT NULL,
    `teller` int(6) NOT NULL,
    `telname` varchar(10) NOT NULL,
    `date` int(10) NOT NULL,
    `count` int(6) NOT NULL,
    `back` int(10) NOT NULL,
    PRIMARY KEY (`sn`),
    UNIQUE KEY `sn` (`sn`),
    UNIQUE KEY `sn_2` (`sn`)
    ) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

    四、制止导入数占有普通话乱码的主题素材
    1:将数据编码格式保存为utf-8
    设置暗许编码为utf8:
    set names utf8;
    设置数据库db_name默认为utf8:
    ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    设置表tb_name暗中同意编码为utf8:
    ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    导入:
    LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;
    2:将数据编码格式保存为ansi(即GBK或GB2312)
    安装暗许编码为gbk:
    set names gbk;
    安装数据库db_name默许编码为gbk:
    ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
    设置表tb_name暗中认可编码为gbk:
    ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
    导入:
    LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;

    注:1.UTF8不要导入gbk,gbk不要导入UTF8;
    2.dos下不扶助UTF8的来得;
    五、消除网页中乱码的题目

    将网址编码设为 utf-8,那样能够相配世界上享有字符。
      假使网址已经运转了长时间,已有非常多旧数据,不可能再改造简体普通话的设定,那么建议将页面包车型地铁编码设为 GBK, GBK与GB2312的界别就在于:GBK能比GB2312展现越来越多的字符,要展示简体码的繁体字,就只可以用GBK。
    1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
    2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;
    3.在网页代码中充分二个"set names utf8"只怕"set names gbk"的吩咐,告诉MySQL连线内容都要利用
    utf8或者gbk;

     

    MySQL会现出粤语乱码的来头除了下列几点: 1.ser...

    首先次mysql运行服务战败,未归来报错音信

    5.6.24会发觉名字为【my-default.ini】的文件。我们用记事本展开该公文少禽意识并从未【default-character-set

    xxx】或者【character_set_server=xxx】,怎么回事呢?英特网提交的不在少数措施都以从来修改那句话的xxx为utf8,不急,下边请看第二步:

     

    2、

     

    复制该公文,并且命名叫【my.ini】,那样根目录下就有三个.ini文件了,一个是my-default.ini,三个是my.ini 。接下来大家只需修改my.ini里面的内容就行了。请看第三步:

     

    3、

     

    修改【my.ini】,

     

    在[mysqld]下边添加character_set_server=utf8,注意是【utf8】不是【utf-8】况且前边未有任何标点符号;

     

    在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】那句话后边再加多三行:

     

    [client]

    port=3306

    default-character-set=utf8

     

    4、

     

    透过以上三步就ok了。保存后重启服务器,登入后在命令行输入:【show variables like 'char%';】可查阅默许字符集如下图所示:

    图片 5

    5、

     

    自身的【my.ini】代码,橄榄黑代码区为修改之处:

     

    # For advice on how to change settings please see

    #

    # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

    # *** default location during install, and will be replaced if you

    # *** upgrade to a newer version of MySQL.

     

    [mysqld]

     

    # Remove leading # and set to the amount of RAM for the most important data

    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

    # innodb_buffer_pool_size = 128M

     

    # Remove leading # to turn on a very important data integrity option: logging

    # changes to the binary log between backups.

    # log_bin

     

    # These are commonly set, remove the # and set as required.

    basedir = D:mysql-5.6.24-winx64

    datadir = D:mysql-5.6.24-winx64data

    port = 3306

    # server_id = .....

    character_set_server=utf8

     

    # Remove leading # to set options mainly useful for reporting servers.

    # The server defaults are faster for transactions and fast SELECTs.

    # Adjust sizes as needed, experiment to find the optimal values.

    # join_buffer_size = 128M

    # sort_buffer_size = 2M

    # read_rnd_buffer_size = 2M

     

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

     

    [client]

    port=3306

    default-character-set=utf8

     

    二、LInux下Mysql插入普通话显示乱码设计方案

     

    mysql -uroot -p 回车输入密码

     

    步向mysql查看情状如下:

    图片 6

    mysql无法插入普通话

     

    mysql使用蒙受,字符编码。暗中认可的是客户端和服务器都用了latin1,所以会乱码。

     

    化解方案:直接修改暗许的Mysql配置文件通透到底化解mysql无法插入普通话和华语乱码的艺术

     

    一、进入mysql(mysql -uroot -p),查看当前数据库字符集(status;)

     

    二、查看当前系统版本(lsb_release -a)

    图片 7

    Mysql不能够插入汉语

    mysql使用蒙受,字符编码。 

    三、#vim /etc/mysql/my.cnf 。(5.5在先系统)在【client】下边步入default-character-set=utf8

     

    在【mysqld】上边步向default-character-set=utf8

     

    Notice:注意 若是改造后不能够开行报错试试把default-character-set=utf8改为character_set_server=utf8,仅仅到场到mysqld上面包车型客车.client就无需加了

     

    四、#vim /etc/mysql/my.cnf 。(5.5随后系统)如下修改:

     

    [client]

    default-character-set=utf8

     

    [mysqld]

    default-storage-engine=INNODB

    character-set-server=utf8

    collation-server=utf8_general_ci

     

    五、重启mysql(/etc/init.d/mysql stop   /etc/init.d/mysql  start)

     

    六、修成成功,步向mysql查看字符集(mysql>show variables like ‘character_set_%’;)

    图片 8

    Mysql无法插入中文

     

    三、防止创设数据库及表出现汉语乱码和查看编码方法

     

    1、成立数据库的时候:CREATE DATABASE `test`

    CHARACTER SET 'utf8'

    COLLATE 'utf8_general_ci';

         2、建表的时候 CREATE TABLE `database_user` (

    `ID` varchar(40) NOT NULL default '',

    `UserID` varchar(40) NOT NULL default '',

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

     

    这3个设置好了,基本就不会出难题了,即建库和建表时都利用同一的编码格式。

     

    只是假若您早已建了库和表能够通过以下方法进行查询。

     

    1.查看暗许的编码格式:

    mysql> show variables like "%char%";

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

    | Variable_name | Value |

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

    | character_set_client | gbk |

    | character_set_connection | gbk |

    | character_set_database | utf8 |

    | character_set_filesystem | binary |

    | character_set_results | gbk |

    | character_set_server | utf8 |

    | character_set_system | utf8 |

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

     

    注:从前2个来规定,能够动用set names utf8,set names gbk设置暗中认可的编码格式;

     

    实施SET NAMES utf8的成效一样同不时候设定如下:

    SET character_set_client='utf8';

    SET character_set_connection='utf8';

    SET character_set_results='utf8';

     

    2.查看test数据库的编码格式:

    mysql> show create database test;

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

    | Database | Create Database |

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

    | test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |

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

     

    3.查看yjdb数据库的编码格式:

    mysql> show create table yjdb;

    | yjdb | CREATE TABLE `yjdb` (

    `sn` int(5) NOT NULL AUTO_INCREMENT,

    `type` varchar(10) NOT NULL,

    `brc` varchar(6) NOT NULL,

    `teller` int(6) NOT NULL,

    `telname` varchar(10) NOT NULL,

    `date` int(10) NOT NULL,

    `count` int(6) NOT NULL,

    `back` int(10) NOT NULL,

    PRIMARY KEY (`sn`),

    UNIQUE KEY `sn` (`sn`),

    UNIQUE KEY `sn_2` (`sn`)

    ) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |

     

    四、制止导入数占领中文乱码的难点

     

    1:将数据编码格式保存为utf-8

     

    设置私下认可编码为utf8:

    set names utf8;

     

    设置数据库db_name默认为utf8:

    ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

     

    设置表tb_name暗中认可编码为utf8:

    ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

     

    导入:

    LOAD DATA LOCAL INFILE 'C:\utf8.txt' INTO TABLE yjdb;

     

    2:将数据编码格式保存为ansi(即GBK或GB2312)

     

    设置暗中认可编码为gbk:

    set names gbk;

     

    设置数据库db_name暗中认可编码为gbk:

    ALTER DATABASE `db_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

     

    设置表tb_name暗中认可编码为gbk:

    ALTER TABLE `tb_name` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

     

    导入:

    LOAD DATA LOCAL INFILE 'C:\gbk.txt' INTO TABLE yjdb;

     

    注:1.UTF8不要导入gbk,gbk不要导入UTF8;

    2.dos下不帮助UTF8的展现;

     

    五、消除网页中乱码的主题素材

     

    将网址编码设为 utf-8,那样能够相配世界上装有字符。

     

    一旦网址已经运行了好久,已有无数旧数据,不能够再更改简体普通话的设定,那么建议将页面包车型地铁编码设为 GBK, GBK与GB2312的差异就在于:GBK能比GB2312展现越来越多的字符,要突显简体码的繁体字,就只可以用GBK。

     

    1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;

     

    2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;

     

    3.在网页代码中增添多少个"set names utf8"或然"set names gbk"的一声令下,告诉MySQL连线内容都要利用

    utf8或者gbk;

    MySQL会并发普通话乱码的来由除了下列几点: 1.server本身设定...

    减轻格局:

    施行mysqld -console命令,查看error音信,随机应变

    但貌似情况下,主借使因为mysql目录下的data文件夹中剧情不得法,化解措施有以下五个

    1.在拉开服务前实行早先化命令

    mysqld --initalize

    接下来运营服务

    2.下载5.6或事先版本的mysql压缩包

    将滑坡包解压后其中的data文件夹复制到当前mysql所在文书夹根目录中

    下一场运维服务

    不管第贰个操作依旧其次个操作,记得先关掉服务在操作,操作完了再展开服务

     

    问题二:

    mysql缺少performance_schema.session系统表导致各样主题材料

    缓和方法:

    利用以下多个指令后重启服务(windows下关闭再张开)

    mysql_upgrade -u root -p

    mysql_upgrade -u root -p --force

     

    问题三:

    在mysql中插入数据时行使汉语报错,Error Code: 1366. Incorrect string value。

    化解办法:

    亟待完毕以下几步,若首先不能够达成可先跳过,只影响数据库中已有内容,可是为了确认保障新的数据库、数据表可写中文,第二三步绝对要科学。

    1.装置mysql的编码,统一改为utf8(因为utf8是包容性相比较强的编码,假若要求运用其它语言也能够修改为别的的编码)

    开发mysql的根目录,

    新建文件my.ini然后将my-default.ini中剧情复制到my.ini然后去除my-default.ini文件,

    在my.ini文件的[mysqld]有个别上面加三个语句character_set_server=utf8,

    跟着关闭mysql服务再开发银行mysql服务。

    登入步入mysql后,别选拔任何数据库,直接动用s命令查看字符集编码,查看server这一项的编码是不是为utf8,假使是的话纵然成功

    结余的client和conn应该暗中认可为gbk,借使不是的话能够再英特网搜一搜设置方法

    关于DB的编码,其实是和数据库有关的,当最早始接二连三入mysql时,其实是选拔了sys数据库(暗许的系统数据库),等做了上边包车型地铁第二步后再选取另外数据库之后再利用s命令,你们就能够开采差距。

     

    2.在新建数据库时,将数据库设置为utf8编码

    做了这一步,你就能开采你刚创建的数据库的DB字符集编码一定是utf8,也确定保证了您新建的数据库能够输入普通话。

    切实如下

    CREATE DATABASE 数据库名字 CHARACTEPAJERO SET 'utf8';

    3.只要数据库的编码未设置,而你要么想输入普通话,那么你须要在新建数据表的时候对表的编码进行设置

    一般来说代码段,建立八个字段,使用CHARACTESportage SET 'utf8'代码把表中的富有字段改为utf8格式

    CREATE TABLE 表名称

    (

    一大堆字段

    )CHARACTER SET 'utf8';

     

    如上步骤尽量在mysql安装配备的时候就成功,制止不供给的麻烦,恐怕至少达成第二第三步。

    本文由新葡亰496net发布于网络数据库,转载请注明出处:mysql使用蒙受,字符编码

    关键词: