1. 程式人生 > >【資料庫】向MySQL資料庫存中文顯示亂碼

【資料庫】向MySQL資料庫存中文顯示亂碼

一、前言

      資料庫是我們軟體開發中一個非常重要的組成部分,以前小編使用的是SQL Server,沒有遇到過儲存的中文是亂碼的情況,後來在ssh的專案中使用的是MySQL的專案,遇到了亂碼的問題,只要向資料庫中儲存中文資料就會是亂碼,儲存英文就沒有問題,小編通過研究了研究把這中問題總結了一下:

二、亂碼解決方案

      想到亂碼自然而然的想到了是資料格式不對的原因:於是小編研究了自己的程式碼的格式,常用的格式有:UTF-8,GBK,GB2312

      ①UTF-8(8-bit Unicode Transformation Format)在網頁上可以統一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

      ②GBK (Chinese Internal Code Specification)《漢字內碼擴充套件規範》

      ③GB2312 國標碼 資訊交換用漢字編碼字符集,漢字處理、漢字通訊等系統之間的資訊交換,通行於中國大陸;新加坡等地也採用此編碼。中國大陸幾乎所有的中文系統和國際化的軟體都支援GB 2312。

      瞭解更多,猛戳這裡。

三、解決方案

  • 先從MySQL入手

      檢查資料庫、資料表、資料欄位的編碼格式,是否為utf-8.不是的改成utf-8.通過客戶端檢查就很簡單了,修改資料庫屬性,小編使用的是utf8。

資料庫數學



這裡寫圖片描述
  • 從編輯軟體入手。

      以前小編在做.Net的專案的時候也遇到過這種情況,當時是修改了配置檔案中的連結資料庫的語句,可以看出小編在語句中添加了charset=gb2312,這個可以把我們的資料儲存轉化為gb2312。

<add key="ConnectionString" value="server=192.168.21.185;database=ymgj;uid=root;pwd=123456;charset=gb2312;allow zero datetime=true"/>

      同理在java中同樣可以使用這樣的方法,在java中我們使用的是jdbc連結資料庫,只需要新增?useUnicode=true&characterEncoding=utf8:

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///shop?useUnicode=true&characterEncoding=utf8
jdbc.user=root
jdbc.password =123

      到這裡就解決了向資料庫儲存資料是亂碼的問題了。如果有更好的辦法小編會在以後向大家更新。

四、小結

      通過這次總結,算是對以前學習的知識的總結,也是為自己以後的學習打下堅實的基礎,辦事要牢固,做事要嚴謹,這一切都會在程式碼中體現出來。最後加油吧!everybody!

相關推薦

資料庫MySQL資料庫存中文顯示亂碼

一、前言       資料庫是我們軟體開發中一個非常重要的組成部分,以前小編使用的是SQL Server,沒有遇到過儲存的中文是亂碼的情況,後來在ssh的專案中使用的是MySQL的專案,遇到了亂碼的問

資料庫-DB2-Mysql-Orcale等視訊教程+資料

【資料庫】-DB2-Mysql-Orcale等視訊教程+資料,視訊資料很大,幾百個G,學習起來需要一定時間,希望大家早早領悟資料庫的精髓 連結:https://pan.baidu.com/s/1yxA80xXfyRG5vm6um91zIg      

資料庫解決Mysql資料庫提示innodb表不存在的問題!

發現mysql的error.log裡面有報錯: InnoDB: Error: Table “mysql”.“innodb_table_stats” not found. InnoDB: Error: Fetch of persistent statistics requested

資料庫MySQL資料庫優化

1. MySQL架構 MySQL整體架構圖如下: 2. 查詢執行流程 查詢執行的流程是這樣的: 連線 客戶端發起一條Query請求,監聽客戶端的‘連線管理模組’接收請求 將請求轉發到‘連線進/執行緒模組’ 呼叫‘使用者模組’來進行授權檢查 通過

怎麼讓VI支援中文顯示

如題【原創】讓utf8 locale下的vi同時支援gb2312,gb18030,utf8編碼 現在多數linux發行版預設都使用UTF8編碼,如果在xwindows下開啟用gb231 2或者gb18030編碼儲存的檔案就會發現檔案內容都是亂碼 ,解決辦法是在自己使用者目錄下建立.vimrc檔案加入 se

AndroidrecyclerView無資料,只顯示一條資料

RecyclerView相比ListView,優化了許多,但是有許多要注意的地方。1.首先可能出現的情況是,recyclerView無資料展示。可能由如下原因導致:①getItemCount()方法要返回arrayList的長度,不能返回0.②要對recyclerView設定

jmeter-察看結果樹-響應資料中文顯示亂碼

轉載原文: http://www.51testing.com/html/00/130600-1360743.html jmeter-察看結果樹-響應資料中的中文顯示亂碼jmeter\bin\jmeter.properties預設編碼為:ISO-8859-1# The en

mysqlmysql資料庫批量插入資料(迴圈)

錯誤插入delimiter $$ create procedure pr() begin declare i int; set i=5000; while i<6000 do insert into assisted_material (id,name,edition

資料庫load data infile上億條的海量資料匯入mysql的那些事

因為做股票金融的,每天產生的資料量是很大的,一個月幾十億的交易記錄,也常有出現,特別是今年大跌之前大漲那會。 作為程式設計師,問題來了,有時需要將一些並不是特別符合規範的csv檔案匯入資料庫中,而且每個檔案有十幾萬行,而這樣的檔案幾萬個,於是幾十億的記錄如何匯入資料庫呢?

Learning-MySQL2MySQL儲存引擎及資料庫的操作管理

一、儲存引擎 儲存引擎實際上就是如何儲存資料、如何為儲存的資料建立索引和如何更新、查詢資料。儲存引擎也可以稱為表型別。 MySQL提供了外掛式(pluggable)的儲存引擎,儲存引擎是基於表的。同一個資料庫,不同的表,儲存引擎可以不同。甚至,同一個資料庫表在不同的場合可以應用不同的儲存引擎。 檢視當前

資料庫MySQL奇淫技巧(報錯篇)

繼《【資料庫】MySQL奇淫技巧》,此篇為報錯梳理,整理測試時遇到的各種報錯及應對策略 1、 (1046, ‘No database selected’) 沒選擇資料庫,此問題很有可能是再執行命令或者查詢時沒針對資料庫操作,視覺化的工具一般不會出現此錯誤

資料庫MySQL奇淫技巧(基礎篇)

前言:由於mysql有很多很多“特殊的用法”,在此成其為奇淫技巧,很多用法很冷門,雖然由常用命令拼起來的,但是不是十分常用。對待一些特殊需求查資料都不太描述,這是個很尬的問題,所以在此梳理用到的所有奇淫技巧,當然有新的特殊需求,可以交流學習進一步完善,有任何非議都可以交流。下面是

資料庫mysql資料庫定時備份

操作步驟: 1、將指令碼放到任意位置下,不容易被誤刪即可 2、定時任務,一週執行一次指令碼 指令碼如下: #!bin/bash backuppath=/data/mysql/backup date=$(date +%Y%m%d%H%M) SQLuser=root SQLpwd=password

資料庫MySQL相關操作

--批量插入資料 insert into actor (actor_id, first_name, last_name, last_update) values (1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),(2,'NICK','WAHLBERG'

DbVisualizer Pro 9.1.1連DB2資料庫中文顯示亂碼的解決一篇就夠

一、修改安裝目錄下配置檔案 安裝目錄/resources/dbvis-custom.prefs 增加配置如下: dbvis.grid.encode=true dbvis.grid.fromEncode=ISO8859_1 dbvis.grid.toEncode=GBK

資料庫Mysql中主鍵的幾種表設計組合的實際應用效果

寫在前面         前前後後忙忙碌碌,度過了新工作的三個月。部落格許久未新,似乎對忙碌沒有一點點防備。總結下來三個月不斷的磨礪自己,努力從獨樂樂轉變到眾樂樂,體會到不一樣的是,連辦公室的新玩意都能引起莫名的興趣了,作為一隻忙碌的 “猿” 倒不知正常與否。         咳咳, 正題, 今天要寫一篇

漫畫為什麼MySQL資料庫要用B+樹儲存索引?

小史是一個應屆生,雖然學的是電子專業,但是自己業餘時間看了很多網際網路與程式設計方面的書,一心想進BAT網際網路公司。 話說兩個多月前,小史通過了A廠的一面,兩個多月後的今天,小史終於等到了A廠的二面。 簡單的自我介紹後,面試官看了看小史的簡歷,開始發問了。 【面試現場】

資料庫MySQL事務

什麼是事務? 事務是指包含多個微小邏輯單元的一組操作, 只要其中有一個邏輯失敗了,那麼這一組操作就全部以失敗告終,不存在一半成功,一半不成功的狀況。 事務的特性 原子性(Atomicity) : 事務中的邏輯要全部執行,不可分割。(原子是物理中最小單位) 一致性(Consistenc

資料庫Navicat匯入匯出資料

       當我們對mysql資料庫進行了誤操作,造成某個資料表中的部分資料丟失時,肯定就要利用備份的資料庫,對丟失部分的資料進行匯出、匯入操作了。Navicat工具正好給我們提供了一個數據表的匯入匯出功能。 1.匯出資料表         Navicat匯出資料表的格

資料庫——mysql鎖機制

(一)引言                                                                                                                          MySQL引擎預設的鎖級別: MyISAM和MEMORY