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

解決php mysql亂碼問題

編輯:關於PHP編程

本文的作用是為了全方位的避免因使用UTF-8編碼而產生的亂碼問題,不包含具體的亂碼解決方案和編碼轉換的內容。對於UTF-8編碼的深入了解,請參閱:《PHP匹配UTF-8中文字符的正則表達式》
1、編輯器:不要使用任何微軟的編輯器,什麼Frontpage,Web Designer,記事本,寫字板什麼的,能丟的全部丟開,因為這些編輯器會在你的UTF-8文檔前面產生BOM,關於BOM的具體說明,可以在 這裡 找到,當年我直接拿記事本轉UTF-8覆蓋原文件,造成大量代碼損毀,至今記憶猶新。
2、MySQL數據庫:注意建庫,建表,建字段(注意有三處)的時候,都要選用utf8_general_ci的整理格式(Collation),在PHP使用mysql_connect()函數連接數據之後,需要加上一句:
mysql_query('set names "utf8"');
3、PHP:
使用mb庫,不要使用iconv庫。
使用preg而不要使用ereg來處理字符。
使用htmlentities()函數,html_entity_decode()函數的時候要帶上第三個參數:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<?php
$str = "<a href='test'>中文</a>";
echo htmlentities($str,ENT_COMPAT,"UTF-8"); //顯示(源代碼裡面) &lt;a href='test'&gt;涓?

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