Mysql數據庫亂碼出現的各個階段以及對應方法
MySQL中數據庫亂碼一般進行字符集的設定即可,但是亂碼可以出現在各個階段,所以這篇文章整理一下亂碼出現的各個階段以及對應方法。...
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 數據庫名稱
也可使用如下方式,導入之前執行如下命令
set names utf8;
總結
以上就是Mysql數據庫亂碼出現的各個階段以及對應方法的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,
MySQL數據庫的事務處理用法與實例代碼詳解
文章主要介紹了mysql事務處理用法與實例代碼詳解,詳細的介紹了事物的特性和用法并實現php和mysql事務處理例子,非常具有實用價值,需要的朋友可以參考下...
Mysql數據庫使用from與join兩表查詢的方法區別總結
文章主要給大家介紹了關于mysql使用from與join兩表查詢的區別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面...
Sql Server數據庫類似正則表達式的字符處理問題
SQL Serve提供了簡單的字符模糊匹配功能,比如:like, patindex,不過對于某些字符處理場景還顯得并不足夠,日常碰到的幾個問題有:...
SQL Server數據庫中表和索引結構存儲的原理及如何加快搜索速度分析
本文詳細分析了SQL Server中表和索引結構存儲的原理以及對于如何加快搜索速度和提高效率等方面做了詳細的分析,以下是主要內容。...
SQL Server Page數據庫結構深入分析
SQL Server存儲數據的基本單元是Page,每一個Page的大小是8KB,數據文件是由Page構成的。在同一個數據庫上,每一個Page都有一個唯一的資源標識,標識符由三部分組成...
基于Sql server數據庫的四種分頁方式總結
下面小編就為大家分享一篇基于sqlserver的四種分頁方式總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧。...
SQL Server 2016數據庫快照代理過程詳解
本文我們通過SQL Server 2016一個實例數據表,給大家詳細分析了快照代理過程遇到的問題和解決辦法,并對快照生成過程做了詳細說明,以下是全部內容:...
關于SQL Serve數據庫r帳號被禁用的處理方法
若發現SQL Serve所有帳號不小心被禁用了,這個時候怎么辦?用重裝嗎?不用,仔細看小白是怎么一步一步解開這個謎題的。首先需要Windows帳號設置里重新添加一個新帳號。并將其添加到...
SQL數據庫查詢優化技巧提升網站訪問速度的方法
在這篇文章中,我將介紹如何識別導致性能出現問題的查詢,如何找出它們的問題所在,以及快速修復這些問題和其他加快查詢速度的方法。 你一定知道,一個快速訪問的網站能讓用...
SQL數據庫開發中的SSIS 延遲驗證方法
驗證是一個事件,該事件在Package執行時,第一個被觸發,驗證能夠避免SSIS引擎執行一個有異常的Package或Task。延遲驗證(DelayValidation)是把驗證操作延遲到Package真正運行(run-ti...