客戶口碑推薦,優質搬家服務
線上免費估價,搬家首選
裝潢設計廢棄物處理、服務優先、價廉實惠
配合度高,歡迎來電詢價

首頁  ‧  tw 論壇 ‧ 程式設計討論     ‧ 

[轉貼]MySQL和php採用UTF8的詳細方法

房東:新手
發表時間:2007-03-10
[檢舉]


小弟幾天來給MySQL和php全面採用UTF8搞得
頭昏腦脹, 現在總算搞清楚了, 成功\轉換為UTF8.
例如: 許\ 功\ 蓋\ 碁 銹 裏 墻 恒 粧 嫺
這些字已完全問題了.

現總結一下給大伙參考. [如需轉載,請注明出處]

****** 網 站 全 面 採 用 UTF-8 方法. ******

1. 用 vi /etc/httpd/conf/httpd.conf 設定Apache中的語系為 (記得restart)
AddDefaultCharset UTF-8

2. 用 vi /etc/php.ini 設定php中的語系為 (記得restart)
default_charset = \"utf-8\"

3. 用 vi /etc/my.cnf 設定MySQL中的語系為 (記得restart)
[mysqld]
init_connect=\'SET NAMES utf8\'
default-character-set=utf8
[client]
default-character-set = utf8

4. 建立資料庫時選擇語系: (記得清除DB Cache)
DROP DATABASE IF EXISTS `aa`;
CREATE DATABASE `aa` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE `aa`;

CREATE TABLE IF NOT EXISTS `aat` (
`id` char(1) NOT NULL default \'1\',
`myStr` varchar(200) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

5. 用UltraEdit(v11.20a版) 轉換所有ANSI格式的php檔案轉化為UTF-8格式:
File --> Conversions --> ASCII to UTF-8 (Unicoding Editing)
( 在UltraEdit中按Advanced --> configuration --> File Handling
--> Unicode/UTF-8 Detection --> 剔選Auto detect utf-8 files )
如有需要時,可執行Remove BOM.php. 當用WinXP的Notepad將php檔由ANSI轉為UTF-8時,
因檔頭有BOM,會引起排版問題,故必須移除,執行Remove BOM.php即可自動移除.
Remove BOM.php可由以下網址下載:
http://www.hoyo.idv.tw/hoyoweb/document/view.php?sid=13&author=hoyo&status=view

6. 在php檔中必須加入:




7. 在連接DB的檔中必須加入3行mysql_query才ok:
$host=\"localhost\"; $DBname=\"aa\";
$user= \"root\"; $passwd = \"\";
$link = mysql_connect($host,$user,$passwd) or die (\"Fail\");
$db = mysql_select_db($DBname, $link) or die (\"Fail\");
// 要在真正query DB取出資料前,加入以下3行
mysql_query(\"SET NAMES \'utf8\'\");
mysql_query(\"SET CHARACTER_SET_CLIENT=utf8\");
mysql_query(\"SET CHARACTER_SET_RESULTS=utf8\");
$sql = \"select * from aat where crid=\'1\'\";
$rows = mysql_query($sql);

8. 在php檔中, 如有需要須注意: [Optional]
運用htmlentities和htmlspecialchars時,要似如下:
$chars = htmlentities($chars,ENT_QUOTES,\"UTF-8\");
$chars = htmlspecialchars($chars,ENT_QUOTES,\"UTF-8\");
並且在顯示前要用
$chars = html_entity_decode($chars,ENT_QUOTES,\"UTF8\");
如有用過addslashes()或mysql_real_escape_string()記得用以下:
$chars = stripslashes($chars);
如有需要可以用以下function將不同編碼轉換:
$chars = iconv(\'Big5\',\'UTF-8\',$chars); //由Big5轉為UTF-8



  • 贊助網站       

    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務
    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!



  •  共 0 人回應

    姓名:
    佈告內容: