日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL查看与修改编码方式(mysql、数据库、表)

發布時間:2025/3/21 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL查看与修改编码方式(mysql、数据库、表) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql默認的編碼方式是latin1,通過以下命令查看

show variables like 'char%';

或者:

show variables like 'character%';

mysql> 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 ? ? |?latin1? ? ? ? ? ? ? ? ? ? ? |
| character_sets_dir ? ? ? | /opt/lampp/share/charsets/ |
+--------------------------+----------------------------+

從以上信息可知數據庫的編碼為latin1,需要修改為gbk或者是utf8

其中,character_set_client為客戶端編碼方式;

character_set_connection為建立連接使用的編碼;

character_set_database數據庫的編碼;

character_set_results結果集的編碼;

character_set_server數據庫服務器的編碼;

修改mysql默認編碼方式:

修改mysql的配置文件my.ini,該文件目錄一般為/etc/my.ini

找到客戶端配置[client]?在下面添加?
default-character-set=utf8?
默認字符集為utf8?
在找到[mysqld]?添加?

default-character-set=utf8?
默認字符集為utf8?
init_connect='SET NAMES utf8'?
(設定連接mysql數據庫時使用utf8編碼,以讓mysql數據庫為utf8運行)?

修改后大致如下:

[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock default-character-set=utf8 init_connect='SET NAMES utf8' character_set_server=utf8 user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid[client] default-character-set=utf8 修改好后,重新啟動mysql?即可,重新查詢數據庫編碼可發現編碼方式的改變:

show variables like 'char%';mysql> show variables like 'char%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

查看mysql數據庫編碼方式:

show create database mydatabase;
show create database redmine;
+----------+------------------------------------------------------------------+
| Database | Create Database ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+----------+------------------------------------------------------------------+
| redmine ?| CREATE DATABASE `redmine` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+------------------------------------------------------------------+
從以上看出數據庫的默認編碼方式為latin1

修改mysql數據庫編碼方式:

alter database mydatabase character set utf8;show create database redmine; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

+----------+------------------------------------------------------------------+
| Database | Create Database ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+----------+------------------------------------------------------------------+
| redmine ?| CREATE DATABASE `redmine` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
可以看到數據庫的編碼方式變為了utf8

查看mysql數據表編碼方式

show create table mydatabase;

| projects | CREATE TABLE `projects` (
? `id` int(11) NOT NULL AUTO_INCREMENT,
? `name` varchar(255) NOT NULL DEFAULT '',
? `description` text,
? `homepage` varchar(255) DEFAULT '',
? `is_public` tinyint(1) NOT NULL DEFAULT '1',
? `parent_id` int(11) DEFAULT NULL,
? `created_on` datetime DEFAULT NULL,
? `updated_on` datetime DEFAULT NULL,
? `identifier` varchar(255) DEFAULT NULL,
? `status` int(11) NOT NULL DEFAULT '1',
? `lft` int(11) DEFAULT NULL,
? `rgt` int(11) DEFAULT NULL,
? `inherit_members` tinyint(1) NOT NULL DEFAULT '0',
? PRIMARY KEY (`id`),
? KEY `index_projects_on_lft` (`lft`),
? KEY `index_projects_on_rgt` (`rgt`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |

可以看到projects表的編碼方式為latin1

修改mysql數據表編碼方式

alter table projects convert to character set utf8 collate utf8_general_ci;

以上projects為我要查看的表


| projects | CREATE TABLE `projects` (

? `id` int(11) NOT NULL AUTO_INCREMENT,
? `name` varchar(255) NOT NULL DEFAULT '',
? `description` text,
? `homepage` varchar(255) DEFAULT '',
? `is_public` tinyint(1) NOT NULL DEFAULT '1',
? `parent_id` int(11) DEFAULT NULL,
? `created_on` datetime DEFAULT NULL,
? `updated_on` datetime DEFAULT NULL,
? `identifier` varchar(255) DEFAULT NULL,
? `status` int(11) NOT NULL DEFAULT '1',
? `lft` int(11) DEFAULT NULL,
? `rgt` int(11) DEFAULT NULL,
? `inherit_members` tinyint(1) NOT NULL DEFAULT '0',
? PRIMARY KEY (`id`),
? KEY `index_projects_on_lft` (`lft`),
? KEY `index_projects_on_rgt` (`rgt`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 |

此時projects表的編碼方式已經變為utf8


參考地址:

http://blog.csdn.net/frinder/article/details/7041723

http://www.jbxue.com/db/18042.html

http://bbs.csdn.net/topics/390728070?page=1





總結

以上是生活随笔為你收集整理的MySQL查看与修改编码方式(mysql、数据库、表)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。