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. C++中函数调用时的三种参数传递方式详解

    在C++中,参数传递的方式是“实虚结合”. 按值传递(pass by value) 地址传递(pass by pointer) 引用传递(pass by reference) 按值传递的过程为:首先计 ...

  2. Vue.js前后端同构方案之准备篇——代码优化

    收录待用,修改转载已取得腾讯云授权 导语 目前Vue.js的火爆不亚于当初的React,本人对写代码有洁癖,代码也是艺术.此篇是准备篇,工欲善其事,必先利其器.我们先在代码层面进行优化,对我们完成整个 ...

  3. 使用libsvm对MNIST数据集进行实验---浅显易懂!

    原文:http://blog.csdn.net/arthur503/article/details/19974057 在学SVM中的实验环节,老师介绍了libsvm的使用.当时看完之后感觉简单的说不出 ...

  4. hdu 1035 Robot Motion(dfs)

    虽然做出来了,还是很失望的!!! 加油!!!还是慢慢来吧!!! >>>>>>>>>>>>>>>>> ...

  5. Reimplementing event handler

    Events in PyQt4 are processed often by reimplementing event handlers. #!/usr/bin/python # -*- coding ...

  6. 【Oracle】新建用户,删除用户,授权

    一.创建用户 oracle内部有两个建好的用户:system和sys.用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限. 在安装oracle时,用户或系统管理 ...

  7. servlet request getQueryString 汉字的URI编码如何转码

    JavaScript中编码有三种方法:escape.encodeURI.encodeURIComponent,地址栏中那些%XX就是汉字对应的字节被encodeURI编码格式转了.一个字节对应一个% ...

  8. udp套接字使用信号驱动式I/O

    信号驱动式I/O的本质就是:进程预先告知内核当某个描写叙述符发生事件时,内核会向该进程发送SIGIO信号通知进程,进程可在信号处理函数中进行处理 进程能够通过fcntl打开O_ASYNC标志或ioct ...

  9. mini2440裸机试炼之——看门狗中断和复位操作

    看门狗的工作原理: 设本系统程序完整执行一周期的时间是Tp,看门狗的定时周期为Ti,Ti>Tp,在程序正常执行时,定时器就不会溢出,若因为干扰等原因使系统不能在Tp时刻改动定时器的记数值,定时器 ...

  10. 【PHP】在目标字符串指定位置插入字符串

    PHP如何在指定位置插入相关字符串,例子:123456789变为1_23_456789插入"_"到指定的位置! (可以用作换行或者其他处理) 插入示例,具体思路在代码中有注释: & ...