0

私はphpで小さなタスクを実行していました(コールドフュージョンでも同じタスクを試しました)。

次のパターンの URL をデータとして送信する API があります。

  1. http://127.0.0.1:8080/test/index.php?brand=%93%FA%8EY%8E%A9%93%AE%8E%D4

  2. http://127.0.0.1:8080/test/index.php?brand=Airtel%20India%20Mobile%20Corporation

このタスクの重要な部分であるブランド名を表示する必要があります。ブランド名を次のように単純に印刷すると:

echo $_GET['brand']

、URL 2 の正しい出力を取得しています。

URL 2 はAirtel India Mobile Corporationを出力します。

ただし、1 の出力が間違っています。URL 1 は奇妙な文字セットを出力します。URL-1 のブランドには、日本語で日本の会社 (日産自動車株式会社) の名前が含まれています。

URL 1 :エコープリント

“úŽYŽ©“®ŽÔ</p>

エンコーディングの問題に気づきました。次に、私がしたことは次のとおりです。

IE を右クリック->エンコーディングの選択-> エンコーディングとして日本語 (Shift_JIS)を選択。

Japanese(Shift_JIS)を選択するとすぐに、正しい出力が得られました。

日産自動車</p>

PHP (および/または) Cold-Fusion を使用してそれを行うにはどうすればよいですか? つまり、PHP(またはcoldfusion)コード(スクリプト)で正しい/望ましいo/pを表示するにはどうすればよいですか。

どんな助けでも大歓迎です。

4

2 に答える 2

3

この機能は使えると思います。

http://jp2.php.net/manual/ja/function.mb-convert-encoding.php

$str = $_GET["brand"]; //%93%FA%8EY%8E%A9%93%AE%8E%D4
$str = mb_convert_encoding($str, "SJIS", "auto");
echo $str; //日産自動車

編集済み

$str = $_GET["brand"]; //%93%FA%8EY%8E%A9%93%AE%8E%D4
$str = urldecode($str);
echo $str; //日産自動車

これはうまくいくはずです。

「urldecode」関数の反対のことを行う「urlencode」関数もあります。

于 2013-09-09T07:56:36.497 に答える