1

解決策が見つからないように見える問題があります。提供されたツールを使用して World of Warcraft の武器庫からデータを取得しようとしていますが、これは正常に機能します。

<?php
$toon = 'http://eu.battle.net/api/wow/character/(realm)/(character name)';
$data = file_get_contents($toon);
$obj = json_decode($data);?>
<img src="http://eu.battle.net/static-render/eu/<?php echo $obj->thumbnail; ?>"> </img><br />
<?php
echo "Name: " . $obj->name . "<br />";
echo "Level: " . $obj->level . "<br />";
echo "Image: " . $obj->thumbnail . "<br />";
?>

取得しようとしているのはサムネイルであり、残りの名前/レベルなどは私にとって重要ではありません。問題は、名前が次のような特殊文字を使用し始めた場合にのみ発生します。

など ( http://www.utf8-chartable.de/ )

問題は多かれ少なかれ、武器庫 API が次のようなことしか許可しないことです。

á = %C3%A1
â = %c3%a2

デフォルトのページはこれらを通常の文字に戻すだけなので、これは少し奇妙です。しかし、Api はそれをサポートしていません。

例:
http://eu.battle.net/api/wow/character/darkspear/J%C3%ADmmeh (is api)
http://eu.battle.net/wow/en/character/darkspear/Jímmeh/simple (通常の武器庫ページ)

私の質問は、á を 16 進コードに変換する方法を教えてください。

&charname (getting the information from some input field normal characters)
**Converting the &charname with special characters to the charname with hex code's)**
&realmname = http://eu.battle.net/api/wow/character/(realm name)
&toon = &realmname.&charname

(残りのコードを続けます)

4

2 に答える 2

1

ぐっすり眠り、さらにいくつかの作業を行った後、正確には機能しないことがわかりました:(

問題は、たとえば次のような事実にあります。

á は %E1 になり、もちろん意図したとおりに機能します。しかし、このリンクは wow API にはまだ役に立ちません。しかし、いくつかの検索の後、最終的にそのようなリンクを取得したい場合は、これを行う必要がある方法を見つけました:

urlencode(utf8_encode($test));

これにより、文字列 utf8 が作成され、それが URL エンコードに変更され、正確に必要なものが得られます:)

于 2012-04-05T11:07:38.700 に答える
1

URL には ASCII 文字のサブセットのみを含めることができます。「á」などの文字はサポートされていません。
このような非 ASCII 文字を URL に含めるには、それが必要ですurlencode

ブラウザが URL を として表示する場合、darkspear/Jímmeh/simpleそれは単にブラウザが URL を表示用に整形したことを意味します。

于 2012-04-05T02:17:10.717 に答える