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

php寫入mysql中文亂碼問題解決辦法

編輯:關於PHP編程

php連接數據庫很簡單但我們在插入保存數據到mysql數據庫時如果不統一頁面與數據庫編碼就可能出現中文亂碼問題,下面我來給大家介紹預止此問題發生方法。

php中關於mysql的操作非常簡單,然而最近在做一個小工具的時候發現php寫入mysql的數據庫中出現了中文字符的亂碼,這個亂碼的問題糾結了我好久,明明英文字符寫入正常,但是中文就是亂碼!

一開始我感覺是我建立mysql數據庫的時候沒有設置UTF-8字符集,然而後來我發現即使我設置了這個字符集還是不能解決問題,寫入mysql的字符串照樣亂碼。

解決這個問題其實很簡單.

1.在建表的時候設置編碼類型為gb2312_chinese_ci.

2.在PHP頁面的數據庫連接語句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如

 代碼如下 復制代碼

$db_host="localhost";
$db_user="root";
$db_password="password";
$db_name="test";

$link=mysql_connect($db_host,$db_user,$db_password);
mysql_query("SET NAMES 'gb2312'",$link);
$db=mysql_select_db($db_name,$link);
$query="select * from user";
$result=mysql_query($query);

寫入頁面和讀取頁面都加入這行.這樣在MYSQL裡面的中文就能正常顯示了.


另外種辦法修改配置文件my.cnf

 代碼如下 復制代碼

[mysqld]

default-character-set=utf8

重新啟動MYSQL改過 這個改了就是把 character_set_server    設成utf8


好了到這些關於php寫入mysql中文亂碼問題就解決了,當然我們主要是注意頁面與數據庫之間的編碼然後使用mysql_query()進行設置。

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