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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux mysql 创建数据库 并且指定编码相关的知识,希望对你有一定的参考价值。

linux mysql 创建数据库 并且指定编码麻烦帮写来看看

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编码。

参考技术A 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

注意该配置| character_set_server | latin1 无法设置成UTF8
交互时候仍然会出现乱码。

只有当修改my.ini中设置UTF8,才会全部修改成UTF8

-------------------------
mysql设置编码命令

SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;/*这里要注意很有用*/
SET character_set_server = utf8;

SET collation_connection = utf8_bin;
SET collation_database = utf8_bin;
SET collation_server = utf8_bin;

my.ini中配置默认编码
default-character-set=utf8

连接数据库设置编码
jdbc:mysql://192.168.0.5:3306/test?characterEncoding=utf8

/*****************************************java与mysq编码对应****************************************/
java中的常用编码UTF-8;GBK;GB2312;ISO-8859-1;
对应mysql数据库中的编码utf8;gbk;gb2312;latin1

---------------------------
数据库连接串中指定字符集URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk本回答被提问者采纳
参考技术B create database +数据库名

default-character-set=utf8 ;追问

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-character=utf8' at line 1

追答

 哦,不好意思,上面说的是保证页面数据不乱码,后面你在设置编码为set names ‘gbk’,单独一行,然后插数据就不会乱码啦!!


追问

我直接配置文件改了,html取出来没有乱码,但是我数据库看是乱码的。。。。不纠结了

以上是关于linux mysql 创建数据库 并且指定编码的主要内容,如果未能解决你的问题,请参考以下文章

mysql创建数据库,并且指定编码utf8mb4,如果已存在,就不创建的SQL命令

查看mysql数据库及表编码格式

mysql指定编码格式创建数据库

MySQL创建数据库指定编码和排序规则,mysql数据库密码重置

PDO创建mysql数据库并指定utf8编码

mysql postgresql 创建数据库指定utf-8编码