mssql select 中文內容問題

2011-07-05 1:58 am
在MS SQL server management studio 中.

SELECT * FROM CUST WHERE CUSTOMERNAME like '%123%'
結果CUST.CUSTOMERNAME 包含123都出來.

但如果用中文
SELECT * FROM CUST WHERE CUSTOMERNAME like '%公司%'
SELECT * 的時間明明看到 有包含 (公司) 兩字的, 但都沒看到

第一次嘗試用中文當 select 內容. 但一開始就遇到問題.

回答 (3)

2011-07-07 5:39 pm
✔ 最佳答案
所有 variables 要喺 statement 中同 text 分開:

"SELECT * FROM CUST WHERE (CUSTOME RNAME like N'%$search%')";

改為:

"SELECT * FROM CUST WHERE (CUSTOME RNAME like N'%" & $search & "%')";

2011-07-07 10:24:51 補充:
我未正式用過 PHP, 呢個講 PHP+SQL+Unicode 都好詳細, 好有參考性:

tw.knowledge.yahoo.com/question/question?qid=1607061608699

// 要在真正query DB取出資料前,加入以下3行
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
2011-07-07 6:37 pm
thanks, utf 問題其實一早解決.

只差N'%" & $search & "%' 用php黎select內容.

因為var 唔係中文可以連埋都出到result.
之前用interbase + php, 慣左唔洗用 & 去連埋個statement.
2011-07-05 7:37 am
只要將佢變成unicode就得^^


收錄日期: 2021-04-13 18:04:32
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20110704000051KK00761

檢視 Wayback Machine 備份