符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
default-character-set=utf82单独设置某个数据库:
创新互联-专业网站定制、快速模板网站建设、高性价比合浦网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式合浦网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖合浦地区。费用合理售后完善,10余年实体公司更值得信赖。
alter
database
testdb
character
set
utf8;
查看mysql支持的编码:
show
character
set;也可以使用如下方法查看编码:
show
status
mysql
-uroot
use
your
database
status
----------------------------------
server
characterset:
utf8
db
characterset:
utf8
client
characterset:
utf8
conn.
characterset:
utf8
tcp
port:
3306
uptime:
53
sec
----------------------------------
如果
client
为utf8
,
改为:
set
char
set
'gbk';
查看数据库编码:show
create
database
your_db_name
1. 查看MySQL数据库的默认编码
有如下两种方式,
(1)使用status命令
mysql status;
图1 status命令
(2)使用show variables命令
mysql show variables like 'char%';
图2 show variables命令
如果要查看某个数据库的编码,在运行上面的命令前,应先执行use db_name;命令切换数据库(db_name为要查看的数据库名)。
2. 改变MySQL数据库的默认编码
安装MySQL数据库时的默认编码是latin1,实际使用时可能要使用其他编码。下文描述如何将默认编码改为utf8:
首先修改MySQL的配置文件/etc/mysql/my.cnf:
在[client]下追加:
default-character-set=utf8
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8
修改完毕后,使用如下命令之一重启mysql服务:
service mysql restart
/etc/init.d/mysql restart
改变后,之前手工创建的数据库如未显式指定编码,则其编码仍是默认的latin1,可使用如下命令更改编码:
mysql alter database db_name CHARACTER SET utf8;
参考资料:
[1]
1、查看数据库编码格式
mysql show variables like 'character_set_database'
2、查看数据表的编码格式
mysql show create table 表名;
3、创建数据库时指定数据库的字符集
mysqlcreate database 数据库名 character set utf8;
4、创建数据表时指定数据表的编码格式
create table tb_books (
name varchar(45) not null,
price double not null,
bookCount int not null,
author varchar(45) not null ) default charset = utf8;
5、修改数据库的编码格式
mysqlalter database 数据库名 character set utf8;
6、修改数据表格编码格式
mysqlalter table 表名 character set utf8;
7、修改字段编码格式
mysqlalter table 表名 change 字段名 字段名 类型 character set utf8;
mysqlalter table user change username username varchar(20) character set utf8 not null;
检查当前数据库编码。使用语句:
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;
MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8。
1、需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;
其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
另一个查看数据库编码的命令:
show variables like ‘collation%’;
2、linux系统下,修改MySQL数据库默认编码的步骤为:
ü 停止MySQL的运行
/etc/init.d/mysql start (stop) 为启动和停止服务器
ü MySQL主配置文件为my.cnf,一般目录为/etc/mysql
var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹
ü 当我们需要修改MySQL数据库的默认编码时,需要编辑my.cnf文件进行编码修改,在linux下修改mysql的配置文件my.cnf,文件位置默认/etc/my.cnf文件
找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
修改好后,重新启动mysql 即可,重新查询数据库编码可发现编码方式的改变:
show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
此方法用于标准mysql版本同样有效,对于/etc/my.cnf文件,需要从mysql/support-files的文件夹cp my-large.cnf一份到/etc/my.cnf
3、windows系统下可以删除MySQL数据库,并重新安装,在安装过程中可以直接用Mysql Server Instance Config Wizard 进行设置
4、当MySQL数据库服务器已经有数据不适合删除重装时,可以个别指定数据库的编码方式。MySQL指定编码的方式是非常灵活并多样化的,可以指定表级别的编码,行级别编码,甚至可以指定字段级别的编码。
以下示例给出创建数据库时指定编码的两种方式:
1)CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE utf8_general_ci;
2)create database if not exists netctoss default character set utf8;
5、如果你采用的是外部接入的方式,可以在连接中确定请求的编码格式如:jdbc:mysql://localhost:3306 /mysql?useUnicode=truecharacterEncoding=utf-8(注意:不要出现任何空格,否则出错)
6、执行脚本:指定编码格式set names gbk(注意,不是UTF-8)可以修改
执行前:
执行后:
从执行命令前后可知,set names gbk只可以修改character_set_client、character_set_connection、 character_set_results的编码方式,并且这种修改是窗口级别的,只针对本窗口有效,打开另外一个窗口修改无效。也可发现数据库底层的编码方式没有改变,插入数据后还是以utf8编码方式保持。
mysql如何更改数据库字符编码?借助客户端工具很容易就可以更改了,下面来看一下。
01
打开navicat客户端工具,在左边找到要更改的数据库。
02
右键点击这个数据库,在菜单上点击数据库属性选项。
03
在弹出的属性窗口上,点击默认字符集下的下拉框。
04
在弹出的下拉选项里,点击选中要使用的字符集就行了,比如选择常用的utf8字符集,点击ok按钮就行了。