作者clifflu (缺錢啦 @@)
看板PHP
標題Re: [請益] php & mysql一問
時間Mon Oct 3 13:24:20 2005
※ 引述《etst (灆)》之銘言:
: ※ 引述《ottokang (貓貓的大玩偶)》之銘言:
: : 在資料表(table)建立的時候就可以指定要以unicode儲存
: : 給你一個建立資料表的範例SQL
: : 'CREATE TABLE `readers_class` (
: : `class_name` CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
: : ) TYPE = MYISAM ';
: ^^^^^^^^^^^^^可以請問一下加這行TYPE是什麼意思嗎?
指定 physical layer 儲存格式.
mysql 有 MyISAM, innoDB ... 好像還有一種 XD
: : 加上藍色那行就行了
: : 但是要注意資料庫系統有沒有支援unicode
: 再問一下
: 如果table建立時指定是utf-8
: 那php是不是也要加上
: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
: 把網頁編碼也指定成utf-8?
未必.
當你的 script 去跟 db (在此以 mysql 為例) 去要資料 (下 query / fetch) 時,
可以先 SET Charset; 那麼 db 會幫你把資料轉成你要的編碼.
同樣的, 你也可以在 script 內部轉 (如 php 的 iconv())
或是選擇把這些 code 丟出去.
也就是重點在於 '先決定在哪個層級, 要讓文字以什麼編碼儲存'
你要是想在 db, script 都使用 Big5 操作, 直到傳送時再轉成 UTF-8 也是可以的.
上面那行 meta 指令的意義, 只在於告訴 browser 這個 html 檔是使用 UTF 編碼,
至於後端你是怎麼處理, 對 browser 一點也不重要 ^^;;
希望醬寫能看得懂~
--
鬼壓床怎麼辦
騎上去啊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.134
1F:推 KennyL:從phpmyadmin中選資料庫->引擎可以看到MySQL支援的引擎種類 10/03 21:58
2F:推 ottokang:寫的好~ 10/03 22:39