溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何解決php鏈接中sqlserver中文亂碼的問(wèn)題

發(fā)布時(shí)間:2020-07-11 09:05:43 來(lái)源:億速云 閱讀:417 作者:Leah 欄目:編程語(yǔ)言

如何解決php鏈接中sqlserver中文亂碼的問(wèn)題?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

php鏈接sqlserver中文亂碼的解決辦法:1、打開(kāi)sqlserver2005的查詢(xún)分析器;2、打開(kāi)【php.ini】,配置【mssql.charset = "utf-8"】;3、在php文件中添加相關(guān)代碼;4、進(jìn)行輸入數(shù)據(jù)的轉(zhuǎn)碼。

如何解決php鏈接中sqlserver中文亂碼的問(wèn)題

php鏈接sqlserver中文亂碼的解決辦法:

第一,打開(kāi)sqlserver2005的查詢(xún)分析器,code

SELECT  COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

運(yùn)行,查看結(jié)果,顯示“936”,說(shuō)明該數(shù)據(jù)庫(kù)的編碼為GBK

附表如下:

936 簡(jiǎn)體中文GBK

950 繁體中文BIG5

437 美國(guó)/加拿大英語(yǔ)

932 日文

949 韓文 8

66 俄文

65001 unicode UFT-8

第二,打開(kāi)php.ini,配置如下

mssql.charset = "utf-8"

記得重啟服務(wù)器?。。。。。?!

第三,在php文件中添加下面代碼,

<?php
   ……   header("content-Type: text/html; charset=utf-8");
   ……?>

第四,進(jìn)行輸入數(shù)據(jù)的轉(zhuǎn)碼工作

數(shù)據(jù)表test如下:

如何解決php鏈接中sqlserver中文亂碼的問(wèn)題

模擬提交的變量為 type = '聯(lián)通', 對(duì)其進(jìn)行轉(zhuǎn)碼

$type = '聯(lián)通';$type = (iconv('UTF-8','GBK',$type));

sql 語(yǔ)句如下,

$result= mssql_query("select * from dbo.test where type = '$type' and name = 'TOM'", $conn);

第五,對(duì)查詢(xún)后的結(jié)果進(jìn)行轉(zhuǎn)碼(核心代碼如下)

$res['type'] = iconv('GBK','UTF-8',$result['type']);echo $res['type'];

查看輸出:

聯(lián)通

顯示正常。

第六,將第五的代碼進(jìn)行更改調(diào)整如下:

$res['stname'] = urlencode(iconv('GBK','UTF-8',$row['stname']));

然后,封裝JSON,發(fā)送出去

echo urldecode(json_encode($res));


看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI