最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決

 更新時間:2020年08月04日 15:30:55   作者:漠效  
這篇文章主要介紹了mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

有的時候我們在查看數(shù)據(jù)庫數(shù)據(jù)時,會看到亂碼。實際上,無論何種數(shù)據(jù)庫只要出現(xiàn)亂碼問題,這大多是由于數(shù)據(jù)庫字符集設(shè)定的問題。

下面我們就介紹一下,數(shù)據(jù)庫的字符集的設(shè)定及亂碼問題的解決。

mysql數(shù)據(jù)庫的字符集

直白的說,字符就像是單個的文字,編碼就像是給每個文字的編號,字符集就像是字符與編碼的集合,校驗規(guī)則就是字符集的對應(yīng)的排序規(guī)則,字符集加上對應(yīng)的校驗規(guī)則就是語言。(每種字符集可以有多種校對規(guī)則,但都有一個默認(rèn)的校對規(guī)則)

mysql數(shù)據(jù)庫可以通過設(shè)定字符集,來使用對應(yīng)的字符集和檢驗規(guī)則來組織字符。就像是解讀一片文章的時候用那種語言來解析。例如:中國人常使用的utf8編碼,代表的是中文。

mysql可以支持多種字符集。在同一個數(shù)據(jù)庫的不同表,同一個表中的不同字段,都可以指定使用不同的字符集。

mysql的字符集規(guī)則

mysql可以設(shè)定的字符集:

  1. 服務(wù)器的字符集
  2. 數(shù)據(jù)庫的字符集
  3. 表的字符集字
  4. 段的字符集

如果在某一個級別沒有設(shè)置字符集,則它會繼承其上一級的字符集。

mysql數(shù)據(jù)庫亂碼問題解決方法(即修改字符集方法)

【1】查看mysql支持的字符集

show character set;

這里寫圖片描述

【2】查看數(shù)據(jù)庫編碼

show variables like 'character_set%';

這里寫圖片描述

【3】查看當(dāng)前mysql使用的字符集

show variables like 'character%';

這里寫圖片描述

解析:

character_set_client:客戶端請求數(shù)據(jù)的字符集

character_set_connection:客戶機(jī)與服務(wù)器連接的字符集

character_set_database:默認(rèn)數(shù)據(jù)庫的字符集;如果沒有默認(rèn)數(shù)據(jù)庫,就會使用 character_set_server指定的字符集(建議不要隨意更改)

character_set_filesystem:把 character_set_client轉(zhuǎn)換character_set_filesystem (默認(rèn)為binary, 不做任何轉(zhuǎn)換)

character_set_results:返回給客戶端的字符集

character_set_server:數(shù)據(jù)庫服務(wù)器的默認(rèn)字符集

character_set_system:系統(tǒng)字符集,默認(rèn)utf8。(用于數(shù)據(jù)庫的表、列和存儲在目錄表中函數(shù)的名字)

character_sets_dir:mysql字符集文件的保存路徑

產(chǎn)生亂碼的原因

character_set_client與實際不符合
character_set_results與客戶端頁面不符合

【4】查看當(dāng)前數(shù)據(jù)庫的校對規(guī)則

show variables like 'collation%';

這里寫圖片描述

解析:

value的命名規(guī)則: 字符集名字+語言+后綴

collation_connection :當(dāng)前連接的字符集

collation_database :當(dāng)前日期的默認(rèn)校對

collation_server :服務(wù)器的默認(rèn)校對

后綴的含義:
ci:不區(qū)分大小寫
cs:區(qū)分大小寫
bin:二進(jìn)制排序

【5】更改字符集

解決亂碼問題(一般如下)

<1>臨時(只在當(dāng)前生效,退出后重新進(jìn)入恢復(fù)原來設(shè)置)

set character_set_client = 'utf8';
set character_set_connection = 'utf8';
set character_set_results = 'utf8';

set names utf8;

<2>永久(修改完配置文件,需重啟mysql)
在mysql的my.cnf的配置文件中修改或添加下列:

[client]
default-character-set = utf8 

[mysqld]
character_set_server = utf8 


[mysql]
default-character-set = utf8

備注

<1>
關(guān)于mysqld下面的參數(shù),使用mysql5.5驗證后,下方的寫法都可,并非下劃線原因?qū)е碌男薷牟怀晒Γ?/p>

character_set_server = utf8
character-set-server = utf8

<2>
關(guān)于配置文件的修改,有時候由于是編譯安裝,因此mysql的配置文件,不一定是/etc/my.cnf,因此修改后也不會成功。

<3>
修改完配置文件,并重啟mysql后。請查看一下,是否字符集和校對規(guī)則如下:

如下即為成功,如果是使用Navicat等第3方工具連接,中文仍有亂碼,修改一下工具的編碼試試

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決的文章就介紹到這了,更多相關(guān)mysql數(shù)據(jù)庫字符集亂碼問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql給一張表添加外鍵的4種方法

    mysql給一張表添加外鍵的4種方法

    這篇文章主要給大家介紹了關(guān)于mysql給一張表添加外鍵的4種方法,MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持外鍵約束以保證數(shù)據(jù)庫的數(shù)據(jù)完整性,需要的朋友可以參考下
    2023-08-08
  • mysql8.0 windows x64 zip包安裝配置教程

    mysql8.0 windows x64 zip包安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了mysql8.0 windows x64 zip包安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • mysql中格式化日期詳解

    mysql中格式化日期詳解

    最近因為工作需要,要使用mysql查詢記錄可如果有時間戳字段時,查看結(jié)果不方便,不能即時看到時間戳代表的含義,所以這篇文章就提供mysql格式換時間函數(shù),可以方便的看到格式化后的時間。有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • MySQL中select語句使用order按行排序

    MySQL中select語句使用order按行排序

    本文介紹MySQL數(shù)據(jù)庫中執(zhí)行select查詢語句,并對查詢的結(jié)果使用order by 子句進(jìn)行排序
    2016-04-04
  • Django2.* + Mysql5.7開發(fā)環(huán)境整合教程圖解

    Django2.* + Mysql5.7開發(fā)環(huán)境整合教程圖解

    這篇文章主要介紹了Django2.* + Mysql5.7開發(fā)環(huán)境整合教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 在linux中導(dǎo)入sql文件的方法分享(使用命令行轉(zhuǎn)移mysql數(shù)據(jù)庫)

    在linux中導(dǎo)入sql文件的方法分享(使用命令行轉(zhuǎn)移mysql數(shù)據(jù)庫)

    為使用阿里云主機(jī),沒有裝ftp,也沒有裝phpmyadmin,所以一切都得靠命令行。轉(zhuǎn)移網(wǎng)站的重要一步就是轉(zhuǎn)移數(shù)據(jù)庫,這里簡單介紹一下如何在這種情況下導(dǎo)入sql文件
    2014-02-02
  • MySQL數(shù)據(jù)同步到Doris的四種方式

    MySQL數(shù)據(jù)同步到Doris的四種方式

    這篇文章給大家介紹了MySQL數(shù)據(jù)同步到Doris的四種方式,CSV文件方式,JDBC 編碼方式,JDBC Catalog 方式和Binlog Load 方式,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • MySql主鍵id不推薦使用UUID的原因分析

    MySql主鍵id不推薦使用UUID的原因分析

    MySQL的索引主要分為主鍵索引(PRIMARY KEY),唯一索引(UNIQUE) ,普通索引(INDEX)和全文索引(FULLTEXT) ,主鍵索引是一種特殊的唯一索引,不允許有空值,這篇文章主要介紹了MySql主鍵id不推薦使用UUID的原因分析,需要的朋友可以參考下
    2023-03-03
  • MySQL設(shè)置表自增步長的方法

    MySQL設(shè)置表自增步長的方法

    自增字段是一種常見且重要的功能,通常用于生成唯一的標(biāo)識符,本文主要介紹了MySQL設(shè)置表自增步長的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • MySQL利用profile分析慢sql詳解(group left join效率高于子查詢)

    MySQL利用profile分析慢sql詳解(group left join效率高于子查詢)

    最近因為一個用了子查詢的sql語句查詢很慢,嚴(yán)重影響了性能,所以需要進(jìn)行優(yōu)化,下面這篇文章主要跟大家介紹了關(guān)于MySQL利用profile分析慢sql的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-03-03

最新評論

南乐县| 班戈县| 长兴县| 桂东县| 兴安盟| 舟曲县| 砚山县| 诸城市| 安陆市| 康平县| 迁西县| 重庆市| 淳安县| 新营市| 平舆县| 盐津县| 砚山县| 西盟| 南安市| 阳泉市| 松溪县| 石林| 友谊县| 青河县| 安泽县| 嵊泗县| 丹棱县| 三都| 迁安市| 汝城县| 富宁县| 富民县| 农安县| 桐乡市| 柳河县| 平遥县| 吕梁市| 津南区| 乌苏市| 西昌市| 称多县|