From: http://www.2cto.com/database/201302/189920.html

MySql:charset和collation的设置
 
charset 和 collation 有多个级别的设置:服务器级、数据库级、表级、列级和连接级 
  www.2cto.com  
1.服务器级 
  查看设置:show global variables like 'character_set_server'; 和 show global variables like 'collation_server'; 
  修改设置:在OPTION FILE (/etc/mysql/my.cnf)里设置: 
   [mysqld] 
    character_set_server=utf8 
    collation_server=utf8_general_ci 
 
2. 数据库级 
   查看设置:select * from information_schema.schemata where schema_name = 'cookbook'; 
   设置: 
     1.若没有显式设置,则自动使用服务器级的配置 
     2.显式设置:在创建库时指定 
       create database playUtf8  DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; 
  www.2cto.com  
3.表级 
   查看设置:show create table course; 
   设置: 
     1.若没有显式设置,则自动使用数据库级的配置 
     2.显式设置:在创建表时指定 
       create table utf ( id int ) default charset=utf8 default collate=utf8_bin; 
 
4.列级 
   查看设置:show create table course; 
   设置: 
     1.若没有显式设置,则自动使用表级的配置 
     2.显式设置: 
 
     CREATE TABLE Table1(column1 VARCHAR(5) CHARACTER SET latin1 COLLATE latin1_german1_ci); 
 
5.连接级别 
  查看设置: 
     show variables like 'character_set_client';  # 服务端使用这个编码来理解客户端发来的statements 
     show variables like 'character_set_connection' ; # 我还不知道什么意思,等看了mysql源码再说 
     show variables like 'character_set_results'; # 服务端使用这个编码回送结果集和错误信息 
  设置: 
     客户端在连接时可以指定这些参数;同时,服务端也提供了一个Global范围的值,客户端未指定这些参数时,服务端就使用这个Global值。这个global值怎么设置的? 我查遍了很多文档,似乎还没看到设置的办法 (有人说通过my.cnf,或者在启动mysqld时指定命令行参数,其实都是错的) 
 
附:connector/j传输SQL时用什么编码? 
  答案: "The character encoding between client and server is automatically detected upon connection. The encoding used by the driver is specified on the server using the character_set_server system variable for server versions 4.1.0 and newer." 
   也就是说,是在连接时查询服务器端的character_set_server值,再确定连接将使用的编码。 
   不过,官方文档还说,"要想覆盖客户端上的自动检测编码功能,可在用于连接到服务器的URL中使用“characterEncoding”属性。"
 
 
 

MySql:charset和collation的设置的更多相关文章

  1. Mysql系列(四) —— MySQL的Charset和Collation

    本文转载自:再见乱码:5分钟读懂MySQL字符集设置 一.内容概述 在MySQL的使用过程中,了解字符集.字符序的概念,以及不同设置对数据存储.比较的影响非常重要.不少同学在日常工作中遇到的" ...

  2. 特殊汉字“𣸭”引发的对于字符集的思考;mysql字符集;sqlalchemy字符集设置;客户端字符集设置;

    字符集.字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持.而在数据的对比操作上,则提供了不同的字符序支持. MySQL提供了不同级别的设置,包括server级.database级. ...

  3. linux 下mysql的安装,并设置必要的密码

    首先,我使用的是redhat linux ,版本号为: [root@localhost init.d]# cat /proc/version Linux version - (bhcompile@po ...

  4. 解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集

    character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...

  5. MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!

    MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!2017年06月15日 19:59:44 蓝色-鸢尾 阅读数:2062版权声明:本文为博主原创文章,如需转 ...

  6. MySQL 创建表时,设置时间字段自己主动插入当前时间

    MySQL 创建表时,设置时间字段自己主动插入当前时间 DROP TABLE IF EXISTS `CONTENT`; CREATE TABLE `CONTENT` ( `ID` char(20) N ...

  7. MySQL Database on Azure 参数设置

    在使用MySQL过程中,经常会根据需要对MySQL的参数进行一些设置和调整.作为PaaS版本的MySQL,MySQL Database on Azure在参数设置方面有一些限制,客户不能像使用on-p ...

  8. [linux] mysql跨服务器访问, iptables设置

    跨服务器mysql访问, iptables配置 1> 设置被访问机器的mysql权限 grant all privileges on *.* to root@"[ip]" i ...

  9. Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题

    Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...

随机推荐

  1. Spring Boot(三):RestTemplate提交表单数据的三种方法

    http://blog.csdn.net/yiifaa/article/details/77939282 ********************************************** ...

  2. 查看SQL实际内存占用

    如果打开了AWE,在任务管理器中就看不到实际的内存使用了.可以用SQL语句来查内存占用,或是“性能监视器(Performance Monitor)中的SQLServer: Memory Manager ...

  3. django 利用PIL 保存图片

    在使用django时不知道怎么保存图片,又不想用它的form ,在网上找了许久,终于找到个解决方案,利用PIL.image 将POST上来的图片保存到media目录下,然后再修改models from ...

  4. MEMCACHE分布式算法(PHP)

    //测试分布式算法 $ports = array('端口1', '端口2', '端口3', '端口4', '端口5'); //Memcache端口 $users = array('1000', '10 ...

  5. [ntp]查看ntp服务器的连接情况

    转自:http://www.cnblogs.com/liuyou/archive/2012/07/29/2614338.html 命令和工具 # watch ntpq -p # ntpq -p, /e ...

  6. 简析TCP的三次握手与四次分手<转>

    TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续.它只是一个超级麻烦的协议,而它又是互联网的基础,也 ...

  7. dlib实现人脸landmark点检测以及一些其他的应用

    首先从中这里下载下代码: https://github.com/ageitgey/face_recognition#face-recognition 然后安装所以必须的组件,我用的Python3.5 ...

  8. thymeleaf传值onclick到js

    带有单引号 targetUrl('val') <a th:onclick="'javascript:targetUrl(\''+${indexURL.value}+'\');'&quo ...

  9. eclipse创建文件夹河包

    资源的平常使用的主要有三种source/fold/package

  10. Redis 学习笔记2

    数据类型: string 字符串类型      一个键最多存储512MB     1> SET :设置key对应的value,如果key存在,同名会产生覆盖         SET key va ...