MYSQL遇到的亂碼問題

2021-08-21 00:18:07 字數 1383 閱讀 4395

乙個程式設計師沒有遇到bug,就不能稱為乙個合格的程式設計師,我一直認為乙個程式設計師成長最快的方式就是一直遇到bug,只要自己沒有放棄就會快速成長。以後自己也會將一些自己遇到的奇葩錯誤放到這個分類裡,提醒自己。雖然我倒下了,但是你們還在前行。

這一次是比較常見的資料庫亂碼問題。任何的資料在電腦中都是以二進位制的形式存在的,所以將資料轉換為二進位制和將二進位制轉換為資料就是至關重要的一件事。也就有了編碼和解碼的概念。所以亂碼的本質其實就是編碼的不正確和解碼的不正確。

下面就來說一說資料庫中亂碼的問題。因為我寫的是web專案,所以這次也主要是以web專案為例子。資料庫出現亂碼主要有兩個原因(大概),乙個是網頁的編碼,還有乙個就是資料庫的問題,網頁的編碼設定很簡單,就是將頁面的編碼設定為charset="utf-8",這個網上一搜一大堆,這裡不再詳細介紹。今天主要講一下資料庫出現問題的解決方法。

資料庫出現亂碼問題是比較難解決的,因為我遇到過這種蛋疼的事。怎麼檢視自己資料庫的編碼?我用的是mysql,所以在mysql執行命令 show variables like 'character%'; 可以檢視自己的mysql資料庫的編碼格式。如下圖就是正確的。

因為現在大部分使用的utf-8,所以我也設定為utf-8,看自己的需求設定,不一定和我的一樣,如果你的需求是utf-8,但是是下面這個樣子。

你可能就出現了問題。網上對於這樣的錯誤解決方法也是比較多的。大部分都是將my.ini配置檔案修改。這種方法是比較麻煩的,同時也很難成功的,至少我沒成功過。所以我推薦你刪除資料庫,重新裝乙個資料庫。對,你沒有聽錯,就是推薦你重新裝乙個mysql。下面我也就如何更改資料庫的編碼簡單說一下。

在配置前要記得刪除mysql,刪除應用就可以了,還有兩個資料夾,乙個是你mysql安裝資料夾,還有乙個就是c盤下的隱藏資料夾。路徑如下:c:\programdata\mysql,刪除這兩個資料夾就可以了,不用刪除登錄檔。配置的時候都很簡單,都是next下一步,大概到下面的介面(mysql5.5)

這個要記得選擇第三個,在選擇utf-8就可以了,後面輸入你的密碼。在去重新檢視資料庫編碼發現正常了。

其實還有乙個在資料庫連線時設定編碼的,對於我也是沒有用,這裡也是講**貼上。

spring.datasource.url=jdbc:mysql:
上面的方法大概就是我試過的所有修改編碼的方法,只有重灌成功了,所以我推薦重灌。最省事,最簡單。

就這樣,結束。

MySql遇到亂碼問題解決。

情況 使用myeclipse db browser 執行乙個sql檔案,結果頁面亂碼。解決方法,設定1 db browser的connection url設定為 jdbc mysql 2 mysql根目錄下的my.ini檔案 default character set設定為default chara...

處理爬蟲遇到的亂碼問題

在我們爬取網頁的時候,可能會遇到亂碼的問題,解決這種的亂碼的問題有一種通用的方法 import requests from lxml import etree url headers response requests.get url url,headers headers 手動設定響應資料的編碼 ...

網路傳輸遇到亂碼問題

寫的伺服器開啟乙個網頁,漢字顯示亂碼,英文正常顯示。排查許久,因為伺服器接受請求傳送網頁,傳送端專門標識了charset utf 8,查閱的資料都說要將編碼轉義,設定為utf 8 許久後意識到原來是未設定html編碼 這裡在對應的網頁html 中也相應的設定的是utf 8 位置在head中 ok成功...