mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项

选项配置

配置文件路径: /full/path/mysql/bin/my.cnf (默认为/etc/my.cnf

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

*注意:

在 mysqld 中使用 default-character-set 设置, mysql 启动会报错而无法启动。

说明

关于utf8字符集,我们国内默认选择:utf8_general_ci而不是utf8_unicode_ci

区别在于字符对比上

请看mysql上面的例子:

对与general来说 ß = s 是为true的

但是对于unicode来说 ß = ss 才是为true的,

其实他们的差别主要在德语和法语上,所以对于我们中国人来说,一般使用general,因为general更快

如果你对德语和法语的对比有更高的要求,才使用unicode,它比general更准确一些(按照德语和法语的标准来说,在对比或者排序上更准确)

看看这个文档:http://dev.mysql.com/doc/refman/5.7/en/charset-unicode-sets.html

另外还有utf8_bin_ci也是比较常用的哦,在字符对比时,unicode和general都不是大小写敏感的,所以如果要求大小写敏感的话,就使用bin

总结

以上就是这篇文章的全部内容,希望对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

(0)

相关推荐

  • Linux下修改MySQL编码的方法

    默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值. mysql> show variables like '%character%'; 说明:以下是在CentOS-6.2下的设置  (不同的版本可能有些差异,比如文件的位置.但设置的内容应该是一样的) 1. 找到mysql的配置文件,拷贝到etc目录下,第一步很重要 把/usr/share/doc/mysql-server-5.1.52/my-large.cnf 复制到 /etc/my.cnf 即用命令:cp /u

  • MySQL查看和修改字符编码的实现方法

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: >show variables like 'character%'; +--------------------------+----------------------------+ | Variab

  • 基于mysql 5.5 设置字符集问题的详解

    在虚拟机上安装了一个mysql,修改其my.cof文件,发现这个配置文件好强大,但是,遇到一个问题: 设置字符集时,分别在 [client].[mysql] 和 [mysqld] 下设置 default-character-set=utf8 ,但是出现以下问题: 一个个排查,发现是在 [mysqld] 下设置 default-character-set=utf8  导致的.查看/var/lib/mysql/${hostname}.err 文件: 问题是mysqld不识别 default-char

  • MySQL字符编码设置方法

    通过show variables like 'character_set%%';查看编码 修改mysql的编码方式可以有以下几个: 1.通过配置文件修改my.ini(windows下)或/etc/my.cnf(linux下) 分别添加如下内容 [mysqld] character_server_set=utf8 [mysql] default-character-set=utf8 [mysql.server] default-character-set=utf8 [mysql_safe] def

  • Linux下MySQL 5.5/5.6的修改字符集编码为UTF8的方法

    一.登录MySQL查看用SHOW VARIABLES LIKE 'character%'; 下字符集,显示如下: +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_con

  • mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项

    选项配置 配置文件路径: /full/path/mysql/bin/my.cnf (默认为/etc/my.cnf ) [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=ut

  • MySQL修改默认字符集编码的方法

    今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了. 查看MySQL字符集的命令是"show variables like '%char%';". 以MySQL5.6为例,默认的字符集为: 在工作中需要将字符集全部修改为utf8. 以下是修改的方法: 1.打开安装目录,默认在"C:\Program Files\MySQL\MySQL Server 5.6", 2.在当前文件夹中复制一份"my-default.

  • VScode修改默认生成的HTML模板的方法

    在VScode中,新建HTML页面时可以输入!+tab键,快速生成HTML代码模板,默认生成的代码模板如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&

  • CentOS下安装mysql时忘记设置root密码致无法登录的解决方法

    前言 昨天一天都是启动mysql时提示:The server quit without updating PID file,今天重装了mysql之后还是同样报错,然后恢复了一下/usr/my.cnf突然就可以启动了.(明明昨天/usr/my.cnf就是默认的,有个解决方法说改这个文件才改的) 然后现在就到没有设置root密码的问题了,搜了几个方法都不行,直到看到下面这个方法一才行. 解决方法一: # /etc/init.d/mysql stop # mysqld_safe --user=mysq

  • MAC下修改mysql默认字符集为utf8的方法

    1,检查默认安装的mysql的字符集 mysql> show variables like '%char%'; +--------------------------+--------------------------------------------------------+ | Variable_name            | Value                                                  | +---------------------

  • MySQL修改默认引擎和字符集详情

    目录 一.数据库引擎 1.1 查看数据库引擎 1.2 修改默认数据库引擎 二.数据库字符集 2.1 查看字符集 2.2 修改字符集 一.数据库引擎 1.1 查看数据库引擎 mysql> show engines; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine |

  • 修改mysql默认字符集的两种方法详细解析

    (1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,如 default-character-set = utf8    character_set_server = utf8 修改完后,重启mysql的服务,service mysql restart使用 mysql> SHOW VARIABLES LIKE 'character%';查看,发现数据库编码均已改成utf8 复制代码 代码如下: +--------------------------+-----------

  • MySQL默认字符集设置详情

    目录 查看各版本默认字符集 修改MySQL5中的默认字符集 已有库&表字符集的变更 各级别的字符集 字符集与比较规则 utf8 与 utf8mb4 比较规则 请求到响应过程中字符集的变化 SQL大小写规范 Windows和Linux平台区别 SQL编写建议 sql_mode的合理设置 宽松模式 严格模式 查看各版本默认字符集 在MySQL 8.0版本之前,默认字符集为latin1 ,utf8字符集指向的是utf8mb3 .网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集.如果遗忘修

  • MySQL修改默认存储引擎的实现方法

    mysql存储引擎: MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上.存储引擎负责管理数据存储,以及MySQL的索引管理.通过定义的API,MySQL服务器能够与存储引擎进行通信.目前使用最多的是MyISAM和InnoDB.InnoDB被Oracle收购后,MySQL自行开发的新存储引擎Falcon将在MySQL6.0版本引进. MyISAM引擎是一种非事务性的引擎,提供高速存储和检索,以及全文搜索能力,适合数据仓库等查询频繁的应用.MyISAM中,一个table

随机推荐