之前在工做中遇到導出中文亂碼時,就google一下,看見把utf-8編碼換成GBK之類的編碼,導出在Excel中打開就不會亂碼了。只是解決了當前問題。對字符編碼沒有很好的認識。此次又遇到了,遂記錄之。html
參考的資料:
https://my.oschina.net/leejun...
http://www.ruanyifeng.com/blo...mysql
前輩們已經對字符編碼講的很好了,通俗易懂。我就簡單的整理下用本身的話複述一遍。
一、咱們爲何須要字符集和字符編碼?
計算機只認識0和1,不認識其餘任何字符。而計算機是爲人服務的,是人就有溝通語言,有語言就有語言符號,要實現普通人與計算機溝通,字符編碼就必然出現了,同理,各類語言就會有不一樣編碼方式的字符編碼。字符編碼的誕生是人類對科學技術妥協的結果。
二、是誰主導字符編碼?
老美,計算機是老美髮明的,儘管如今全世界開放雙贏,做爲先驅者在必定程度上具備話語權(不服?有本事你也搞個革命性的發明來)。後來者也只能依據他來制定,這是歷史包袱,任什麼時候代都沒法改變。他根據他們的語言特點,美國國家標準學會(American National Standard Institute , ANSI )制定了 ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)編碼。我建議:不只記住縮寫,要記住全稱。
三、字符編碼爲何有不少方式。
全世界都知道計算機好,都要用了。咱們知道,語言成爲不一樣國家、民族最鮮明的特徵之一。怎麼辦,每一個國家本身都制定一套相似ASCII碼的編碼,就是咱們常說的 GBK、GB23十二、BIG五、Unicode等等。原理同樣,只是對應規則不一樣而已。
四、Unicode 萬國碼(是一種字符集)
顧名思義:就算你有一萬個國家,有一萬種語言字符。我也能裝得下。你們只要生活在地球上,只要使用計算機,突破語言限制,使用此種字符集。
五、在當前實際運用過程當中,最廣泛用到的是UTF-8方式的編碼。sql
以上作個簡單的總結。這是從計算機層面整體上對字符編碼的認識。
有時間我會總結一篇關於mysql中一些字符相關知識。google
二、mysql中的一些字符集、字符編碼知識編碼