Ψ 註冊 | 登錄 | 星戰幻想 | 論壇設施 | 幫助 |  
打印

[教學] 分享MySQL和php採用UTF8的詳細方法

分享MySQL和php採用UTF8的詳細方法

小弟幾天來給MySQL和php全面採用UTF8搞得
9 `, q$ ], J. a) B# ~頭昏腦脹, 現在總算搞清楚了, 成功轉換為UTF8.
4 A2 L& {& Q* d3 M4 g+ ]5 |論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php例如: 許 功 蓋 ?? ?? ?? ?? ?? ?? ??
3 t9 P% n0 D: x0 h幻想論壇這些字已完全問題了. 論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php' X3 ^, `$ n$ O0 B1 V3 Z8 m
現總結一下給大伙參考. [如需轉載,請注明出處]
9 y- @+ |: Y! A! ]3 ]forum.proita.com******   網 站 全 面 採 用 UTF-8 方法.   ******   
8 c) [: X$ C: s7 D5 V) u, Y1 |香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。1. 用 vi /etc/httpd/conf/httpd.conf 設定Apache中的語系為:( (記得restart)論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php8 w1 b& l9 h- `: W; q& s$ Q
         AddDefaultCharset UTF-8
5 s7 |( \0 V4 O" pforum.proita.com2. 用 vi /etc/php.ini 設定php中的語系為:( (記得restart)
7 T) q/ M# z) v! T' S; Y幻想論壇         default_charset = "utf-8"論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php4 n/ l; n: @% Q# [" w6 M( ]: U
3. 用 vi /etc/my.cnf 設定MySQL中的語系為:( (記得restart)
5 N, |& W. T' a/ f% e, `1 iforum.proita.com      [mysqld]論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php8 P( T4 U1 Y3 b# R& Q
         init_connect='SET NAMES utf8'
2 O3 X0 a* D" F9 n         default-character-set=utf8香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。. d* ~9 O% x' ^# M- H
      [client]
/ E# }. `7 k- I1 q, Z: t論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php         default-character-set = utf8
- D) T0 S( J4 V/ E7 G( e" w4. 建立資料庫時選擇語系: (記得清除DB Cache)forum.proita.com' p. l6 U$ g# W5 Y6 z5 G, _0 I
      DROP DATABASE IF EXISTS `aa`;論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php" }  Q! N: X( Q
      CREATE DATABASE `aa` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php7 I6 h: E$ O0 l, J- y- @
      USE `aa`;
. C. n  _7 S7 x, {; `: c) G# x3 B      forum.proita.com/ Y0 j% [2 r8 Y' I. X* m& [
      CREATE TABLE  IF NOT EXISTS `aat` (forum.proita.com4 u. R2 D, a6 A1 n2 g
        `id` char(1) NOT NULL default '1',
. d0 [5 V2 P# F: l' K        `myStr` varchar(200) default NULL,論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php/ c( I: n4 L" m2 X$ x! e: c
        PRIMARY KEY  (`id`)
' E0 k1 M4 a' F4 v4 U; c論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php      ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
7 [* q8 `. {8 M* v% Q6 A5. 用UltraEdit(v11.20a版) 轉換所有ANSI格式的php檔案轉化為UTF-8格式:論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php+ @  \7 a5 b( @8 k, `
      File --> Conversions --> ASCII to UTF-8 (Unicoding Editing)
; a$ g: w8 h+ Q9 Y香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。   ( 在UltraEdit中按Advanced --> configuration --> File Handling
' O- j+ \5 s! W     --> Unicode/UTF-8 Detection --> 剔選Auto detect utf-8 files )
. r: H2 a9 M5 U! H( K. R8 H+ b    如有需要時,可執行Remove BOM.php. 當用WinXP的Notepad將php檔由ANSI轉為UTF-8時,( C/ C$ K+ i# Y% N, ?  v
  因檔頭有BOM,會引起排版問題,故必須移除,執行Remove BOM.php即可自動移除.
( Y% q* N6 m/ }& e2 e4 w幻想論壇  Remove BOM.php可由以下網址下載:香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。% T0 {  q" I' A$ L: x
  http://www.hoyo.idv.tw/hoyoweb/document/view.php?sid=13&author=hoyo&status=view香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。" i7 l, \- H: P% n' p8 k! K; M! S
6. 在php檔中必須加入:
; E' j: e3 s6 C+ h論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php      <html><head>幻想論壇) H  e7 M$ Z4 y' {
         <meta http-equiv="Content-Type" c>
, R/ `+ \7 q. R      </head><body>      ' b+ G) K0 a8 K$ F
7. 在連接DB的檔中必須加入3行mysql_query才ok:forum.proita.com9 i* H# v. y; x) }
         $host="localhost";         $DBname="aa";
4 \' h/ a3 H3 ~9 v# A香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。         $user= "root";         $passwd  = "";     
* I# [( c" E+ Q- i& X9 H香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。         $link = mysql_connect($host,$user,$passwd) or die ("Fail");  }- {3 u/ j& C
         $db = mysql_select_db($DBname, $link) or die ("Fail");               
: o$ O4 Y+ ^+ T$ zforum.proita.com     // 要在真正query DB取出資料前,加入以下3行幻想論壇1 Z# U9 |' |! L1 z, u
         mysql_query("SET NAMES 'utf8'"); 香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。5 d' O; w7 V3 H
         mysql_query("SET CHARACTER_SET_CLIENT=utf8"); , Z: z' C- ], H+ Y# n( N6 m/ a8 R
         mysql_query("SET CHARACTER_SET_RESULTS=utf8");
4 Y* t1 r' x6 X3 _7 Aforum.proita.com         $sql  = "select * from aat where crid='1'";  @$ V" B2 u8 D: W
         $rows = mysql_query($sql);forum.proita.com, d5 t0 A  L3 k+ T& D' g- S
8. 在php檔中, 如有需要須注意: [Optional]
& C# c' Y% x  A+ F& y5 v      運用htmlentities和htmlspecialchars時,要似如下:
, s+ Z; w0 Y2 K) ~" Q( x# w香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。         $chars = htmlentities($chars,ENT_QUOTES,"UTF-8");香港人氣網遊討論區,以Online Game為主的多元化的論壇網站,同時設有交友系統、對戰系統、獨特網上電台等等。  H. A  d2 `: d- J8 @4 c! K
         $chars = htmlspecialchars($chars,ENT_QUOTES,"UTF-8");
' w* j, @. v; j( Q6 E論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php      並且在顯示前要用
/ l0 W# A: T3 v5 Q% _; P         $chars = html_entity_decode($chars,ENT_QUOTES,"UTF8");forum.proita.com8 Z' Y+ _' X. v1 o
      如有用過addslashes()或mysql_real_escape_string()記得用以下:( n. x% l. N5 [/ M1 g; b/ q
         $chars = stripslashes($chars);$ V6 ^4 _9 `/ M  ?. q0 L, j
      如有需要可以用以下function將不同編碼轉換:論譠, 討論板, 圖片, 節日, 歷史, 香港, 討論區, 文章, 相片, 唱歌, 相簿, 聊天室, 吹水, 二手, 組織, 線上, 遊戲, 動作, 電影, 動漫, 音樂, 貼圖, 互動, Online, forum, chatroom, flash, php/ ]9 a# k# N- _+ z
         $chars = iconv('Big5','UTF-8',$chars);  //由Big5轉為UTF-8

查看全部內容:請登錄或者註冊
Love   (+.[____]·:·)
本站聲明

本站所有內容均是自由言論,所有個人言論、內容和行為不代表本站立場,本站並不對其內容負上任何法律上的責任。
假若內容有涉及侵權,請立即聯絡我們。我們將立刻從網站上刪除,並向所有持版權者致最深的歉意。
本站不會因某人侵權,而交出該侵權人的個人資料。

清除 Cookies聯繫我們幻想論壇ArchiverWAPTOP - 界面風格      當前時區 GMT+8, 現在時間是 20-11-2008 07:21 PM

 

Processed in 0.060074 second(s), 6 queries, Gzip enabled.

Website Uptime Monitoring By ServiceUptime.com