SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 mysql数据库越来越受大家的欢迎了。中国人往数据库里存数据,总的也不会少了中文,可mysql存中文默认会乱码。 这里我们需要来做一些配置,让它不再是“存进去是中文,查出来是各种问号”了。 1.我们可以先看看自己的mysql数据库,中文是否乱码。 登录数据库,再带的test数据库中,创建一张表,然后插入中文,查询结果。我们可以看到,中文变成了问号。 show databases;
use test;
create table users(name varchar(50));
insert into users values('张三');
select * from users; 2.我们来查询一下,各个字符相关的变量的值是什么。 输入 SHOW VARIABLES LIKE 'character%'; 我们可以看到 character_set_database的值为latin1。大家的值可能和我的不一定一样,总体来说应该不会是都为utf8。 3.如果有多处不是utf8,我们需要来修改mysql的配置文件my.ini。 一般位于安装路径根目录,或者安装路径根目录的bin下,或者Linux下/etc/my.cnf。
4.在my.ini中: 搜索到[client],修改或添加default-character-set=utf8; 搜索到[mysqld],修改或添加character-set-server=utf8; 搜到到[mysql],修改或添加default-character-set=utf8;
5.重启mysql数据库。 Windows下可以运行services.msc,找到mysql服务,重启; Linux下,可以/etc/init.d/mysqld restart; 我的是xampp,没有添加服务,直接先点击stop,再start就好了。
6.查看各变量的值; SHOW VARIABLES LIKE 'character%'; 或者 status
7.测试修改之后是否仍乱码。 create database baidujingyan;
use baidujingyan;
create table users(name varchar(50));
insert into users values('张三');
select * from users; 可以看到,我们的数据库已经能正常显示中文了。
注意事项 如果在程序中,还会出现乱码,可以在添加 set names utf8 以上就是MySQL中文乱码如何解决?的详细内容,更多请关注php中文网其它相关文章!
学习教程快速掌握从入门到精通的SQL知识。
|