国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql數據庫亂碼問題的對應方式

2024-07-25 19:09:27
字體:
來源:轉載
供稿:網友

MySQL中數據庫亂碼一般進行字符集的設定即可,但是亂碼可以出現在各個階段,所以這篇文章整理一下亂碼出現的各個階段以及對應方法。

建庫/建表時添加charset設定

建庫

CREATE DATABASE 數據庫名稱 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

建表

create table 表名(字段構成詳細列表信息) default charset=utf8;

客戶端顯示

locale

確認locale設定是否為UTF8方式,一般服務器端沒有問題,僅在客戶端存在問題。或者一部分客戶端有問題,往往就是客戶端顯示設定存在問題。 

確認命令:locale

mysql設定

使用show variables like ‘%character%'進行確認,一般修改character_set_database和character_set_server可以僅在當前session修改設定 

使用mysql命令可以進行session范圍內的字符集設定 

確認命令(mysql):show variables like '%character%'

局部設定

僅在當前session起作用,設定方式為: 

set character_set_database=utf8

全局設定

多個session起作用的設定方式為: 

set global character_set_database=utf8

當然session方式會再數據庫重啟后失效,需要持久化保存,同樣的設定要設定到mysql的配置文件my.cnf中即可.

這樣在創建數據庫或者創建數據庫表的時候缺省就是指定的utf8了

如果是純粹的顯示問題,很多時候還有可能是由于character_set_results設定顯示的。 

使用show variables like ‘%character%'進行確認,如果設定不正確,可以使用如下方式解決 

set character_set_results='utf8';

數據庫數據導出

一般使用mysqldump進行數據庫導出會使用如下命令 

mysqldump -u用戶名 -p用戶密碼 數據庫名稱 >mysqlbackup.sql

如果出現亂碼,可以實現添加如下Option 

mysqldump -u用戶名 -p用戶密碼 --default-character-set=utf8 數據庫名稱 >mysqlbackup.sql

如果含有blob類型,則需要使用hex-blob選項進行mysqldump導出 

mysqldump -u用戶名 -p用戶密碼 --hex-blob 數據庫名稱 >mysqlbackup.sql

數據庫數據導入

導入的時候如果出現問題,也可考慮添加字符級的設定 

mysql -u用戶名 -p用戶密碼 --default-character-set=utf8 數據庫名稱 <mysqlbackup.sql

也可使用如下方式,導入之前執行如下命令 

set names utf8;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济源市| 贵港市| 西安市| 平乐县| 潞城市| 龙南县| 乌海市| 勐海县| 丽江市| 道真| 和政县| 怀远县| 定安县| 斗六市| 武川县| 长治市| 石门县| 郓城县| 富顺县| 郴州市| 白朗县| 得荣县| 辽源市| 曲水县| 乾安县| 东平县| 昌吉市| 美姑县| 汉沽区| 滨海县| 罗平县| 彩票| 太仆寺旗| 宜兰市| 泸州市| 莆田市| 灵山县| 杭锦后旗| 泾源县| 抚州市| 南江县|