关于mysqlutf8的信息

本篇文章给大家谈谈mysqlutf8,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

mysql建表的时候设置表里面的字段的字符集是utf-8要怎么设置?默认建好后我去mysql里看字符集都是gbk

1、建表时仔败指定字符集utf-8:

CREATETABLE 表名

( `id`TINYINT(255)UNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,

`content`VARCHAR(255)NOTNULL)

DEFAULTCHARACTERSET=utf8;

2、修改表的字符散亏集为utf-8:

altertable表名converttocharactersetutf8;

扩展资料:

1、创建数据库时设置字符集:

CREATEDATABASE 数据库名CHARACTERSETutf8COLLATEutf8_general_ci;

注意后面三个单词之间是有下划线的对于每个选项所给定的值,前面没有等号;在第冲戚神一个选项和第二个选项之间也没有逗号。

2、修改数据库的字符集:

alterdatabase 数据库名charactersetutf8;

3、显示某数据库字符集设置:

showcreatedatabase数据库名;

4、显示某数据表字符集设置:

showcreatetable表名;

5、修改字段:

altertable表名modifycolumn'字段名'varchar(30)charactersetutf8notnull;

6、添加表字段:

altertable表名addcolumn'字段名'varchar(20)charactersetutf8;

如何修改mysql表为utf8

检查当前数据库编码。

使用语句:

show variables like ‘%character%’;

show variables like’%collation%’;

如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下:

如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8

如果没有该程序,需要手动修改mysql编码。

1、 编辑MySql的配置文件

MySql的配置文件Windows下一般在系统目做搭锋录下或者在MySql的安纯晌装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf

--在 [mysqld] 标签下加上以下内容:

default-character-set = utf8

character_set_server = utf8

注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。

--在 [mysql] 标签下加上一行

default-character-set = utf8

--在 [mysql.server]标签下加上一行

default-character-set = utf8

--在 [mysqld_safe]标签下加上一行

default-character-set = utf8

--在 [client]标签下加上一行

default-character-set = utf8

2、 重新启动MySql服务

Windows可在服务管理器中操作,也可使用命令行:

net stop mysql 回车

net start mysql 回车

服务名可能不一定枝差为mysql,请按自己的设置

Linux下面可是用 service mysql restart

如果出现启动失败,请检查配置文件有没有设置错误

3、 查看设置结果

登录MySql命令行客户端:打开命令行

mysql –uroot –p 回车

输入密码

进入mysql后 执行 :show variables like "% character %";

另外:

建立数据库时可以使用以下命令:

create database app_relation character set utf8;

use app_relation;

source app_relation.sql;

修改数据库编码的命令为:

alter database app_relation character set utf8;

[img]

Mysql中的UTF-8字符集与字符集排序规则的选择

    标准的UTF-8 字符集编码,是可以用 1~4 个字节去编码21位字符,是一种变长的编码格式,这几乎包含了是世界上所有能看见的语言了。

    然而在MySQL里实现的utf8最长使用3个字节,节省空间但不能表达全部的UTF-8,只支持到了 Unicode 中的“基本多文种平面”(U+0000至U+FFFF,Basic Multilingual Plane,BMP),但并不是所有。现在手机端常用的表情字符 emoji和一些不常用的汉字需要四个字节才能游卖编码出来。

    MySQL在 5.5.3 之后增旁皮加了 utf8mb4 字符编码,mb4即 most bytes 4,使用4个字节来表示完整的UTF-8,是utf8 的超集并完全兼容utf8,能够用4个字节存储更多的字符。

utf8mb4_bin: 将字符串每个字符用二进制数据编译存储,区分大小写,而且可以存二进制的内容。

utf8mb4_general_ci :不区分大小写,不支持扩展,它仅能够在字符之间进行逐个比较,没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。但是,在绝大多数情况下,这些特殊字符的顺序并不需要那么精确。

utf8mb4_unicode_ci :是基于标准的unicode来神启逗排序和比较,能够在各种语言之间精确排序,unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。

_bin : binary case sensitive collation,区分大小写的

_cs : case sensitive collation,区分大小写

_ci : case insensitive collation,不区分大小写

    主要从排序准确性和性能两方面看:

参考链接:

MySQL 的 utf8 字符集的问题

理论上说起来,设置为 utf8 也并非一个完全合适、100% 没毛病的值,即便你将 MySQL 的字符集设置为 utf8 ,也有可能出现乱码!

通过以下命蔽蔽令,你可以查看 MySQL 所支持的所有『字符集』编码:

在显示的 Charset ,你会看见熟悉的 utf8 。

如果你再仔细看一下这一行,你会发现这一行的 Maxlen 列中的值居然是 3 !?

这是 MySQL 中的 utf8 并非我们现在常说的 『真·UTF8』 。它『 最多 』只用 3 个字节存储一个字虚并颤符,而有些中日韩生僻字small(包括 emoji 表情)/small的 Unicode 编码是需要 4 个字节宽度才能存储的,这就会导致一些乱码的隐患。

MySQL 解决这个问题的方案是绕过 utf8 提出一种新的字符集来实现 『 真·UTF8 』 功能: utf8mb4 。

实际上,为了统一称呼,差败MySQL 在提出 utf8mb4 字符集之后,就将 utf8 改为 utf8mb3 的别名,因此,你设置字符集为 utf8 本质上就是设置成了 utf8mb3 。

在更高版本(8.x)的 mysql 中,MySQL 直接将 utf8 改为了 utfmb4 的别名。

如何设置mysql数据库为utf-8编码

以或没更改为UTF-8为例,GB2312雷同衫耐纳。

1、关闭mysql服务(以下为命令行中执行)

view plaincopy

service mysql stop

2、修改 /etc/mysql/my.cnf (默认的安亩春装路径)

view plaincopy

vim /etc/mysql/my.cnf

打开my.cnf后,在文件内的[mysqld]下增加如下两行设置:

character_set_server=utf8

init_connect='SET NAMES utf8'

然后保存退出。

3、重新启动mysql服务

view plaincopy

service mysql start

至此,完成修改默认编码,登陆mysql后重新使用show variable like '%character%'获得的输出效果

关于mysqlutf8和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

Powered By Z-BlogPHP 1.7.2

备案号:蜀ICP备2023005218号