• mysql命令行以及mysql workbence查询结果中文乱码的解决方法


    最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47
    同时也安装了mysql命令行以及mysql workbench
    这里是test数据库
    create  table fortest(empno int auto_increment,empname nvarchar(20) not null,constraint pk_fortest primary key(empno))default charset=utf8;
    然后插入了一条数据
    set names character utf8;
    insert into fortest(empno)values('欧阳菲菲');
    发现插入不了,总是报错,具体错误如下:mysql命令行以及mysql <wbr>workbence查询结果中文乱码的解决方法
    这种情况主要是由于默认编码设置错误引起的。
    现在就查看一下mysql服务器的配置情况吧。
    具体命令就是
    show variables like 'character%';
    查出的结果如下:
    mysql命令行以及mysql <wbr>workbence查询结果中文乱码的解决方法

    具体解决方法:

    使用MySQL命令行可以实现许多我们需要的功能,不过在使用MySQL命令行的时候,有一个问题是在MySQL命令行插入中文数据或者查询中文数据时出现乱码,或者显示不对。

    在MySQL命令行输入:show variables like ‘character_set_%’;

    查看当前配置的编码;

    在MySQL命令行输入 :set names utf8;

    则等同于

    set character_set_client=utf8;

    set character_set_results=utf8;

    set character_set_connection=utf8;

    这三条命令

    在命令行插入数据之前

    执行命令set names gbk;或者set names gb2312;

    再插入

    查询数据之前

    执行命令set names gbk;或者set names gb2312;

    完了之后再set names utf8;

    这样就能正常插入和查询中文并且保持数据库编码为utf8


    对于mysql workbench中的查询出现中文乱码主要是由于mysql服务器的配置中默认设置的编码不是utf8引起的,具体在windows操作系统下,要修改mysql安装目录下的my.ini
    (linux下则是安装目录下的my.cnf文件)
    主要修改的部分如下:
    [client]

    port=3306

    [mysql]

    default-character-set=utf8

    [mysqld]

    # The TCP/IP Port the MySQL Server will listen on
    port=3306


    #Path to installation directory. All paths are usually resolved relative to this.
    basedir="D:/Program Files/MySQL/MySQL Server 5.1/"

    #Path to the database root
    datadir="D:/MySQL/MySQL Server 5.1/Data/"

    # The default character set that will be used when a new schema or table is
    # created and no character set is defined
    default-character-set=utf8

    具体修改的部分就是红色粗体字的文字部分。

    转载自:http://blog.sina.com.cn/s/blog_8a3a624901018j83.html

  • 相关阅读:
    KVC之-setValue:forKey:方法实现原理与验证
    李洪强iOS开发之iOS社区收集
    跟着百度学PHP[15]-会话控制session的工作机制
    代码审计学习之文件操作漏洞
    中间人攻击——ARP欺骗的原理、实战及防御
    跟着百度学PHP[14]-PDO的预处理语句2
    跟着百度学PHP[14]-PDO的预处理语句1
    跟着百度学PHP[14]-PDO之Mysql的事务处理2
    跟着百度学PHP[14]-PDO之Mysql的事务处理1
    跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL
  • 原文地址:https://www.cnblogs.com/pyxrk/p/4544298.html
Copyright © 2020-2023  润新知