php連結sqlserver中文亂碼的解決方法:1、開啟sqlserver2005的查詢分析器;2、開啟【php.ini】,設定【mssql.charset = "utf-8"】;3、在php文件中加入相關代碼;4、進行輸入資料的轉碼。
php連結sqlserver中文亂碼的解決方法:
第一,開啟sqlserver2005的查詢分析器,code
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
運行,查看結果,顯示“936”,說明該資料庫的編碼為GBK
附表如下:
936簡體中文GBK
950 繁體中文BIG5
#437 美國/加拿大英文
932 日文
#949 韓文 8
66 俄文
65001 unicode UFT-8
第二,開啟php.ini,設定如下
#mssql.charset = "utf-8"
記得重啟伺服器! ! ! ! ! ! !
第三,在php檔案中加入下面程式碼,
<?php …… header("content-Type: text/html; charset=utf-8"); ……?>
第四,進行輸入資料的轉碼工作
#資料表test如下:
模擬提交的變數為type = '聯通', 對其進行轉碼
$type = '联通';$type = (iconv('UTF-8','GBK',$type));
sql 語句如下,
$result= mssql_query("select * from dbo.test where type = '$type' and name = 'TOM'", $conn);
第五,對查詢後的結果進行轉碼(核心程式碼如下)
$res['type'] = iconv('GBK','UTF-8',$result['type']);echo $res['type'];
檢視輸出:
聯通
顯示正常。
第六,將第五的程式碼進行更改調整如下:
$res['stname'] = urlencode(iconv('GBK','UTF-8',$row['stname']));
然後,封裝JSON,發送出去
echo urldecode(json_encode($res));
#相關學習推薦:PHP程式設計從入門到精通
以上是php連結sqlserver中文亂碼怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!