程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 分享一個解決MySQL寫入中文亂碼的方法,mysql寫入中文亂碼

分享一個解決MySQL寫入中文亂碼的方法,mysql寫入中文亂碼

編輯:MySQL綜合教程

分享一個解決MySQL寫入中文亂碼的方法,mysql寫入中文亂碼


分享一個解決MySQL寫入中文亂碼的方法

之前有發帖請教過如何解決MySQL寫入中文亂碼的問題。但沒人會,或者是會的人不想回答。搜索網上的答案並嘗試很多次無效,所以當時就因為這個亂碼問題擱淺了一個軟件很多日子。

 直到昨天又一次互聯網搜索,嘗試很多次後,終於解決了亂碼問題,再一鼓作氣完成了軟件的全部功能。

 喜悅之余,也想到肯定有很多人被這個問題所困擾,他們的心情我是理解的。所以我決定分享下這個方法。

  1、首先在連接MySQL之後,執行SQL語句 (連接句柄, “set names 'GBK'”),這樣才能讀取庫名、表名、記錄數據時顯示中文。當然也可以 執行SQL語句 (連接句柄, “set names 'utf8'”),然後讀取數據出來後,轉換UTF8編碼為ANSI編碼即可(轉換模塊、源碼多了去,自己找)。   2、原本以為第一條執行後能輸出中文了,輸入中文應該沒問題。但就是輸入中文有問題,原因就在,使用MySQL支持庫的創建庫和創建表命令創建後的庫表,默認都是拉丁字符集(當然是我這裡發現的情況,不是所有情況都這樣)。所以要這樣: 創建庫之後,執行SQL語句 (連接句柄, “ALTER DATABASE `庫名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;”)  創建表之後,執行SQL語句 (連接句柄, “ALTER TABLE `表名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;”) 這樣就可以正常輸入中文了。   3、由於寫入記錄時使用單引號包括數據,所以數據中如果有單引號就必須轉義,刪除記錄的條件語句也要求轉義。轉義的處理方法:  字段值 = 子文本替換 (子文本替換 (子文本替換 (字段值, “\'”, “\|”, , , 真), “'”, “\'”, , , 真), “\|”, “\\\'”, , , 真)    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved