作者bobju (寶貝豬)
看板PHP
標題Re: [請益] 用Dreamweaver對mysql查詢中文問題
時間Tue Jul 21 01:05:52 2009
個人經驗分享:
1 資料庫用utf8編碼
2 在php當中連上mysql後, 再補上: mysql_query("SET NAMES 'utf8'");
3 網頁上的meta加上這條:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
一般以上三點都會注意到, 以下這一點可能會被忽略:
4 php程式用unicode(UTF8)編碼格式存檔. 我用的是ultraedit, 會用
"ASCII to UTF8"將程式碼轉成unicode存檔.
假設說: 在php程式當中寫了這樣的一道sql:
<?php
//...
$sql="select * from members where name like '王%'";
$rs=mysql_query($sql,$link);
?>
如果這個php程式是ASCII編碼的, 那麼這個'王'字就是big5編碼, 自然無法在
utf8的資料庫中比對到想要的資料.
如果這個php程式是unicode(UTF8)編碼的, 那麼這個'王'字自然也是, 這樣才
能在utf8資料庫中比對到相要的資料.
※ 引述《chinleock (Jinn)》之銘言:
: 各位前輩,
: 小弟最近在用Dreamweaver CS3寫一個類似於顯示分頁清單的php程式,
: 而清單內容是從mysql撈資料出來展示
: 但是小弟我遇到一個問題是,
: 凡是遇到撈資料的條件出現中文,比如說
: SELECT *
: FROM db1
: WHERE name='測試'
: 我就無法取得資料,但是若是條件中無出現中文我就可順利獲得資料,如
: SELECT *
: FROM db1
: WHERE name='test'
: 我是用Dreamweaver CS3繫結資料集的方式去跟mysql連結,
: 在資料庫連結設定中也加入utf8的校正
: 而資料庫本身的語系設定和校正也應該無問題,
: 因為我把相同的SQL碼打在phpMyAdmin中直接執行是能夠搜尋到我要的資料的
: 所以我想應該是Dreamweaver CS3在與資料庫連結時的編碼問題
: 不知道有沒有有經驗的前輩可以分享一下應該如何解決
: 因為資料庫的內容不少,若無法用中文查詢必須先轉成英文的話會是一項大工程
: 希望能夠直接用Dreamweaver對資料庫作中文的query
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.184.87
推 chinleock :感謝,我沒有注意存檔編碼的問題,我再試試看 07/21 08:49
→ chinleock :謝謝B大花時間解說 07/21 08:50