ホームページ  >  記事  >  バックエンド開発  >  sqlserver への PHP リンクが中国語で文字化けしている場合はどうすればよいですか?

sqlserver への PHP リンクが中国語で文字化けしている場合はどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-10 13:06:562776ブラウズ

php link sqlserver の中国語文字化けコードの解決策: 1. sqlserver2005 のクエリ アナライザーを開きます; 2. [php.ini] を開いて [mssql.charset = "utf-8"] を設定します; 3. php の場合 関連するコードをファイルに追加します; 4. 入力データをトランスコードします。

sqlserver への PHP リンクが中国語で文字化けしている場合はどうすればよいですか?

sqlserver への中国語の文字化けした php リンクの解決策:

まず、sqlserver2005 のクエリ分析を開きます。サーバー 、code

SELECT  COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

を実行し、結果を確認すると、データベースのエンコーディングが GBK

であることを示す「936」が表示されます。添付の​​表は次のとおりです。

936 簡体字中国語 GBK

950 繁体字中国語 BIG5

437 米国/カナダ 英語

932 日本語

949韓国語 8

66 Russian

65001 unicode UFT-8

2 番目に、php.ini を開いて次のように設定します

mssql.charset = "utf-8"

サーバーを忘れずに再起動してください。 ! ! ! ! ! !

3 番目に、php ファイルに次のコードを追加します。

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

4 番目に、入力データをトランスコードします

データテーブル テストは次のとおりです。

sqlserver への PHP リンクが中国語で文字化けしている場合はどうすればよいですか?

シミュレーションによって送信された変数は type = 'Unicom' で、トランスコードされます。

$type = &#39;联通&#39;;$type = (iconv(&#39;UTF-8&#39;,&#39;GBK&#39;,$type));

sql ステートメントは次のとおりです。 ,

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

5 番目に、クエリ結果をトランスコードします (コア コードは次のとおりです)

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

出力を表示します:

China Unicom

良い結果が出ています。

6 番目に、5 番目のコードを次のように変更します。

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

次に、JSON をカプセル化して送信します

echo urldecode(json_encode($res));

関連学習の推奨事項: PHP プログラミングの入門から熟練度まで

以上がsqlserver への PHP リンクが中国語で文字化けしている場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。