Mysql數(shù)據(jù)庫亂碼出現(xiàn)的各個階段以及對應方法
MySQL中數(shù)據(jù)庫亂碼一般進行字符集的設定即可,但是亂碼可以出現(xiàn)在各個階段,所以這篇文章整理一下亂碼出現(xiàn)的各個階段以及對應方法。...
MySQL中數(shù)據(jù)庫亂碼一般進行字符集的設定即可,但是亂碼可以出現(xiàn)在各個階段,所以這篇文章整理一下亂碼出現(xiàn)的各個階段以及對應方法。
建庫/建表時添加charset設定
建庫
CREATE DATABASE 數(shù)據(jù)庫名稱 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
建表
create table 表名(字段構(gòu)成詳細列表信息) default charset=utf8;
客戶端顯示
locale
確認locale設定是否為UTF8方式,一般服務器端沒有問題,僅在客戶端存在問題?;蛘咭徊糠挚蛻舳擞袉栴},往往就是客戶端顯示設定存在問題。
確認命令:locale
mysql設定
使用show variables like ‘%character%'進行確認,一般修改character_set_database和character_set_server可以僅在當前session修改設定
使用mysql命令可以進行session范圍內(nèi)的字符集設定
確認命令(mysql):show variables like '%character%'
局部設定
僅在當前session起作用,設定方式為:
set character_set_database=utf8
全局設定
多個session起作用的設定方式為:
set global character_set_database=utf8
當然session方式會再數(shù)據(jù)庫重啟后失效,需要持久化保存,同樣的設定要設定到mysql的配置文件my.cnf中即可.
這樣在創(chuàng)建數(shù)據(jù)庫或者創(chuàng)建數(shù)據(jù)庫表的時候缺省就是指定的utf8了
如果是純粹的顯示問題,很多時候還有可能是由于character_set_results設定顯示的。
使用show variables like ‘%character%'進行確認,如果設定不正確,可以使用如下方式解決
set character_set_results='utf8';
數(shù)據(jù)庫數(shù)據(jù)導出
一般使用mysqldump進行數(shù)據(jù)庫導出會使用如下命令
mysqldump -u用戶名 -p用戶密碼 數(shù)據(jù)庫名稱 >mysqlbackup.sql
如果出現(xiàn)亂碼,可以實現(xiàn)添加如下Option
mysqldump -u用戶名 -p用戶密碼 --default-character-set=utf8 數(shù)據(jù)庫名稱 >mysqlbackup.sql
如果含有blob類型,則需要使用hex-blob選項進行mysqldump導出
mysqldump -u用戶名 -p用戶密碼 --hex-blob 數(shù)據(jù)庫名稱 >mysqlbackup.sql
數(shù)據(jù)庫數(shù)據(jù)導入
導入的時候如果出現(xiàn)問題,也可考慮添加字符級的設定
mysql -u用戶名 -p用戶密碼 --default-character-set=utf8 數(shù)據(jù)庫名稱
也可使用如下方式,導入之前執(zhí)行如下命令
set names utf8;
總結(jié)
以上就是Mysql數(shù)據(jù)庫亂碼出現(xiàn)的各個階段以及對應方法的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,
- MySQL數(shù)據(jù)庫的事務處理用法與實例代碼詳解
- Mysql數(shù)據(jù)庫使用from與join兩表查詢的方法區(qū)別總結(jié)
- Sql Server數(shù)據(jù)庫類似正則表達式的字符處理問題
- SQL Server數(shù)據(jù)庫中表和索引結(jié)構(gòu)存儲的原理及如何加快
- SQL Server Page數(shù)據(jù)庫結(jié)構(gòu)深入分析
- 基于Sql server數(shù)據(jù)庫的四種分頁方式總結(jié)
- SQL Server 2016數(shù)據(jù)庫快照代理過程詳解
- 關(guān)于SQL Serve數(shù)據(jù)庫r帳號被禁用的處理方法
- SQL數(shù)據(jù)庫查詢優(yōu)化技巧提升網(wǎng)站訪問速度的方法
- SQL數(shù)據(jù)庫開發(fā)中的SSIS 延遲驗證方法
MySQL數(shù)據(jù)庫的事務處理用法與實例代碼詳解
文章主要介紹了mysql事務處理用法與實例代碼詳解,詳細的介紹了事物的特性和用法并實現(xiàn)php和mysql事務處理例子,非常具有實用價值,需要的朋友可以參考下...
Mysql數(shù)據(jù)庫使用from與join兩表查詢的方法區(qū)別總結(jié)
文章主要給大家介紹了關(guān)于mysql使用from與join兩表查詢的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面...
Sql Server數(shù)據(jù)庫類似正則表達式的字符處理問題
SQL Serve提供了簡單的字符模糊匹配功能,比如:like, patindex,不過對于某些字符處理場景還顯得并不足夠,日常碰到的幾個問題有:...
SQL Server數(shù)據(jù)庫中表和索引結(jié)構(gòu)存儲的原理及如何加快搜索速度分析
本文詳細分析了SQL Server中表和索引結(jié)構(gòu)存儲的原理以及對于如何加快搜索速度和提高效率等方面做了詳細的分析,以下是主要內(nèi)容。...
SQL Server Page數(shù)據(jù)庫結(jié)構(gòu)深入分析
SQL Server存儲數(shù)據(jù)的基本單元是Page,每一個Page的大小是8KB,數(shù)據(jù)文件是由Page構(gòu)成的。在同一個數(shù)據(jù)庫上,每一個Page都有一個唯一的資源標識,標識符由三部分組成...
基于Sql server數(shù)據(jù)庫的四種分頁方式總結(jié)
下面小編就為大家分享一篇基于sqlserver的四種分頁方式總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧。...
SQL Server 2016數(shù)據(jù)庫快照代理過程詳解
本文我們通過SQL Server 2016一個實例數(shù)據(jù)表,給大家詳細分析了快照代理過程遇到的問題和解決辦法,并對快照生成過程做了詳細說明,以下是全部內(nèi)容:...
關(guān)于SQL Serve數(shù)據(jù)庫r帳號被禁用的處理方法
若發(fā)現(xiàn)SQL Serve所有帳號不小心被禁用了,這個時候怎么辦?用重裝嗎?不用,仔細看小白是怎么一步一步解開這個謎題的。首先需要Windows帳號設置里重新添加一個新帳號。并將其添加到...
SQL數(shù)據(jù)庫查詢優(yōu)化技巧提升網(wǎng)站訪問速度的方法
在這篇文章中,我將介紹如何識別導致性能出現(xiàn)問題的查詢,如何找出它們的問題所在,以及快速修復這些問題和其他加快查詢速度的方法?! ∧阋欢ㄖ?,一個快速訪問的網(wǎng)站能讓用...
SQL數(shù)據(jù)庫開發(fā)中的SSIS 延遲驗證方法
驗證是一個事件,該事件在Package執(zhí)行時,第一個被觸發(fā),驗證能夠避免SSIS引擎執(zhí)行一個有異常的Package或Task。延遲驗證(DelayValidation)是把驗證操作延遲到Package真正運行(run-ti...