linux mysql 创建数据库 并且指定编码

linux mysql 创建数据库 并且指定编码,第1张

1、首先在linux终端窗口处输入mysql -u root -p 命令,然后输入root帐户密码连接sql数据库

2、连接上数据库后,执行命令show variables like 'character%'查看数据库的编码格式。

3、然后退出数据库,修改数据库的配置文件my.cnf文件,此文件如果通过rpm安装一般在/etc/目录下。

4、修改完成后,保存配置的修改,然后执行命令service mysqld restart。重新启动数据库。

5、然后待数据库重启完成后,重新连接数据库,执行命令show variables like 'character%'查看更改后的编码格式,可以看到已经修改为utf8编码。

-- 创建数据库时,设置数据库的编码方式 

-- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8

-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)

drop database if EXISTS dbtest

create database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci -- 修改数据库编码

alter database dbtest CHARACTER SET GBK COLLATE gbk_chinese_ci

alter database dbtest CHARACTER SET utf8 COLLATE utf8_general_ci -- 创建表时,设置表、字段编码

use dbtest

drop table if exists tbtest

create table tbtest(

id int(10) auto_increment,

user_name varchar(60) CHARACTER SET GBK COLLATE gbk_chinese_ci,

email varchar(60),

PRIMARY key(id)

)CHARACTER SET utf8 COLLATE utf8_general_ci -- 修改表编码

alter table tbtest character set utf8 COLLATE utf8_general_ci

-- 修改字段编码

ALTER TABLE tbtest MODIFY email VARCHAR(60) CHARACTER SET utf8 COLLATE utf8_general_ci -- 查看所有的字符编码

  SHOW CHARACTER SET

-- 查看创建数据库的指令并查看数据库使用的编码

    show create database dbtest -- 查看数据库编码:

   show variables like '%char%' -- 设置character_set_server、set character_set_client和set character_set_resultsset character_set_server = utf8 -- 服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,

mysql 创建 数据库时指定编码很重要,很多开发者都使用了默认编码,但是我使用的经验来看,制定数据库的编码可以很大程度上避免倒入导出带来的乱码问题。

我们遵循的标准是,数据库,表,字段和页面或文本的编码要统一起来

很多mysql数据库工具(除了phpmyadmin)都不支持创建时指定数据库编码,可以改my.ini来解决这个问题,但是需要重新启动mysql,不过用下面的语句会更有效

GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下:

|character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary|

| character_set_results| utf8 |

| character_set_server | latin1|

| character_set_system | utf8


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9662333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存