較好的常規辦法
建立制定字符集的資料庫
需求描述:
在建立db的時候指定字符集.
操作過程:
1.使用create database語句建立資料庫
mysql> create database if not exists test03 default character set = 'utf8';
query ok, 1 row affected (0.00 sec)
備註:通過default character set = 語句來指定db的字符集.
2.檢視建立的db的字符集
#字符集更改步驟~
character_set_server = utf8 #設定字符集
重啟mysql資料庫服務
檢視當前資料庫字符集
show variables like 'character%';
alter database 資料庫名 character set utf8;
ps:修改完資料庫字符集,需要重啟mysql資料庫。
alter table 表名 default character set utf8 collate utf8_general_ci;
生成所有表修改字符集語句:
select table_name,concat('alter table ',table_name,' default character set ',a.default_character_set_name,' collate ',a.default_collation_name,';') executesql from information_schema.schemata a,information_schema.tables b
where a.schema_name=b.table_schema
and a.default_collation_name!=b.table_collation
and b.table_schema='資料庫名'
alter table 表名 change 列名 列名 varchar( 100 ) character set utf8 collate utf8_general_ci null default null;
生成所有列修改字符集語句:
select b.table_name,b.column_name,b.character_set_name,b.collation_name
,concat('alter table ',b.table_name,' modify ',b.column_name,' ',b.data_type,'(',b.character_maximum_length,') ',case when b.column_default is null then '' else concat('default \'',b.column_default,'\'') end,' comment \'',b.column_comment,'\';') executesql
from information_schema.tables a,information_schema.columns b where b.character_set_name is not null and a.table_schema=b.table_schema and a.table_name=b.table_name
and a.table_collation!=b.collation_name
and a.table_schema='資料庫名'
mysql字符集修改 MySql字符集修改
問題分析 普通的字串或者表情都是佔位3個位元組,所以utf8足夠用了,但是移動端的表情符號佔位是4個位元組,普通的utf8就不夠用了,為了應對無線網際網路的機遇和挑戰 避免 emoji 表情符號帶來的問題 涉及無線相關的 mysql 資料庫建議都提前採用 utf8mb4 字符集,這必須要作為移動網際...
mysql修改字符集
1,set names charset name set names顯示客戶端傳送的sql語句中使用什麼字符集。因此,set names utf8 語句告訴伺服器將來從這個客戶端傳來的資訊採用字符集utf8 它還為伺服器傳送回客戶端的結果指定了字符集。2 連線字符集和校對 1 一些字符集和校對規則系...
mysql 修改字符集
一 修改my.ini配置檔案 mysql配置檔案 character set server utf8 設定字符集 重啟mysql資料庫服務 檢視當前資料庫字符集 show variables like character 二 修改資料庫字符集 alter database 資料庫名 characte...