1.以root用户的身份登录,查看编码设置

mysql> SHOW VARIABLES LIKE 'character%';

+--------------------------+----------------------------+ 
| Variable_name | Value | 
+--------------------------+----------------------------+ 
| character_set_client | latin1 | 
| character_set_connection | latin1 | 
| character_set_database | latin1 | 
| character_set_filesystem | binary | 
| character_set_results | latin1 | 
| character_set_server | latin1 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+

character_set_client为客户端编码方式

character_set_connection为建立的连接使用的编码

character_set_database数据库的编码

character_set_results结果集的编码;

character_set_server数据库服务器的编码;

只要保证以上四个采用的编码方式一样,就不会出现乱码问题

另外,另一个查看数据库编码的命令:

mysql> SHOW VARIABLES LIKE 'collation_%';

+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+

2.以root用户的身份登录,设置编码:

mysql>

  set character_set_client = utf8;
  set character_set_server = utf8;
  set character_set_connection = utf8;
  set character_set_database = utf8;
  set character_set_results = utf8;
  set collation_connection = utf8_general_ci;
  set collation_database = utf8_general_ci;
  set collation_server = utf8_general_ci;
以上命令有部分只对当前登录有效。

3.以root用户的身份登录,新建数据库,导入sql的情况:

  3.1 导入sql脚本文件前,先确保该脚本文件及内容格式为UTF-8编码格式,
  3.2 mysql> use [库名] 进入相应数据库
  3.3 mysql> set names utf8;
  3.4 mysql> source [脚本文件URI];

4.以root用户的身份登录,修改数据库、表、字段的编码:

  mysql> alter database [database name] character set utf8;

  mysql> alter table [table name] character set utf8;

  mysql> alter table [table name] modify [column name, for example: user_name] [type, for example: varchar(50)] CHARACTER SET utf8;

5.写数据库链接程序的时候,为DB_URL添加参数:

  例如JDBC,final String DB_URL = "jdbc:mysql://127.0.1:3306/[database_name]?useUnicode=true&characterEncoding=utf-8";

6.修改MySQL配置文件参数

  在windows7中,my.ini配置文件位于C:\ProgramData\MySQL\MySQL Server 5.6

  在Linux下一般是 /etc/my.cnf

  --在 [mysqld] 标签下加上三行
    default-character-set = utf8
    character_set_server = utf8

    init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

    lower_case_table_names = 1 //表名不区分大小写(此与编码无关)

  --在 [mysql] 标签下加上一行
    default-character-set = utf8

  --在 [mysql.server]标签下加上一行
    default-character-set = utf8

  --在 [mysqld_safe]标签下加上一行
    default-character-set = utf8

  --在 [client]标签下加上一行
    default-character-set = utf8

MySQL编码问题集合的更多相关文章

  1. MySQL实现嵌套集合模型

    MySQL实现嵌套集合模型 译文主要是介绍如何用MySQL来存储嵌套集合数据.在其中会增加一些自己的理解,也会删除掉一些自认为无用的废话. 这篇文章主要讲的是嵌套集合模型,所以邻接表不是本文的重点,简 ...

  2. MySQL字段之集合(set)枚举(enum)

    MySQL字段之集合(set)枚举(enum) (2008-12-23 13:51:23) 标签:it  分类:MySQL 集合 SET mysql> create table jihe(f1 ...

  3. 二进制方式快速安装MySQL数据库命令集合

    二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...

  4. mysql编码的那点事

    Mysql编码问题  在php页面可以向mysql插入英文字符,但就是不能插入中文字符,在cmd客户端也可从插入,这是困扰我两天的问题. 在网上找了很多资料,最终确定了是字符编码这个地方出现了问题,首 ...

  5. Linux(Ubuntu)使用日记------Mysql编码(utf-8)的设置

    Mysq版本:5.7.21 操作系统:Linux(Ubuntu) 整个操作的基本思路如下(包括问题的解决思路,想要直接解决问题的可以先看最后的命令总结) 检查mysql编码 找到Mysql的配置文件 ...

  6. php mysql 编码问题

    php mysql 编码问题 问题: PHP从数据库中读取数据,并echo出来,数据中文显示正常:但是echo出新定义的中文字符串,新定义的字符串会乱码. 由此可能是数据库中提取出来的中文编码和php ...

  7. linux上设置mysql编码

    linux下设置mysql编码 linux下设置mysql编码 首先查找MySql的cnf文件的位置: [root@flyHome gaoxiang]# find / -iname '*.cnf' - ...

  8. MYSQL进阶学习笔记一:MySQL编码设定,会话变量和全局变量!(视频序号:进阶_1-3)

    知识点一:MySQL编码设定(1-2) 服务器编码设定: 查看MySQL服务器端的编码格式: SHOW VARIABLES LIKE ‘char%’; 设定编码格式: SET NAMES ‘utf8’ ...

  9. 关于mysql编码问题

    1 查看MySQL编码 SHOW VARIABLES LIKE 'char%';

随机推荐

  1. 【帧动画总结】AnimationDrawable Frame

    Drawable Animation 开发者文档 位置:/sdk/docs/guide/topics/graphics/drawable-animation.html Drawable animati ...

  2. 不要让Javascript的等价表格看上去那么难看

    时不时的会有人贴出一张表格,用来展现javascript的 '==' 比较出来的结果.像最近的这个例子,看看这张表格有多么的无序. 这些文章基本上都是对的,他们指出 '==' 设计的很糟糕.但是他们通 ...

  3. Node.js:模块系统、函数

    为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个 Node.js 文件就是一个模块, ...

  4. http://m.blog.csdn.net/article/details?id=49132747

    http://m.blog.csdn.net/article/details?id=49132747

  5. hadoop常见问题总结1

    本文地址:http://www.cnblogs.com/archimedes/p/hadoop-problem1.html,转载请注明源地址. 问题1:http://localhost:50030 H ...

  6. linux sendmail 邮件服务器架设

    大家都知道架邮件服务器首先要架DNS服务.架设sendmail邮件服务器,以供大家一起学习探讨. 步骤一, 安装SNEDMAIL服务,查看你是否有安装SENDMAIL. #rpm -qa|grep b ...

  7. 检测任意日期字符串是否属于当天的java实现方案

    有时候我们会遇到很多形式的日期判断,甚至是并不常见的日期形式,比如20161212之类的日期,下面就此来进行代码是否处于当天的日期校验的代码实现来做一个整理. public static boolea ...

  8. [ES6] 03. The let keyword -- 1

    var message = "Hi"; { var message = "Bye"; } console.log(message); //Bye The mes ...

  9. C#应用视频教程2.2 OPENGL虚拟仿真介绍

    三维在理解了如何绘制2D元素之后,我们尝试绘制3D元素. 其实多个三角形也能够成四面体,多个长方形也能够成六面体,所以绘制3D元素的时候,只要顶点数量匹配就行了   这里我们尤其注意,我把绘制之前的三 ...

  10. ASP服务器I I S出现authentication mode=Windows错误解决办法

    网上下载的asp.net源码出现 <authentication mode="Windows"/>错误信息 属性 说明 mode 必选的属性. 指定应用程序的默认身份验 ...