預防中文在mysql數據庫亂碼以及網頁

一、背景:

當數據庫、數據表都創建好後,發現:編寫代碼從數據庫提取記錄到網頁,或者由網頁向數據庫中寫數據時,出現了中文亂碼的問題。點擊參考解決辦法

這種情況是先出現問題再解決。


二、如何未雨綢繆?

事先設定好字符編碼格式。【本案例統一設置utf8編碼】


1.修改數據庫配置文件 my.ini

  在[mysqld]組下添加下面的語句

  character_set_server=gbk


2.創建數據庫時

  create database db_name default character set utf8 collate utf8_general_ci;

 *default character set utf8 :數據庫字符集。設置數據庫的默認編碼爲utf8,這裏utf8中間不要"-"。
 *collate utf8_general_ci: 數據庫校對規則。


3.創建好數據庫後再次查看編碼

  命令:show variables like '%character%';

  mysql> show variables like '%character%';
  +--------------------------+---------------------------------------+
  | Variable_name            | Value                                 |
  +--------------------------+---------------------------------------+
  | character_set_client     | utf8                                  |
  | character_set_connection | utf8                                  |
  | character_set_database   | utf8                                  |
  | character_set_filesystem | binary                                |
  | character_set_results    | utf8                                  |
  | character_set_server     | utf8                                  |
  | character_set_system     | utf8                                  |
  | character_sets_dir       | G:\myenv\mysql-5.6.21\share\charsets\ |
  +--------------------------+---------------------------------------+
  8 rows in set (0.00 sec)


  如果出現非utf8編碼的Variable_name ,可使用命令set names utf8

  執行 set names utf8 的效果等同於同時設定如下:
      set character_set_client=utf8;
      set character_set_connection=utf8;
      set character_set_results=utf8;

注:字符集設置沒問題,但是在DOS窗口顯示的中文仍然亂碼,原因是:DOS默認不支持顯示UTF8的編碼字符,點擊參考解決辦法




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章