4

η の URL エンコーディングは です%CE%B7。しかし、PHPでは、書くときに奇妙なシンボルが表示されますecho urldecode("%ce%b7");

代わりに、書くecho urlencode("η");%26%23951%3B. なぜ使えないの%CE%B7ですか?

解決

問題は、typo3 を使用していることです。内部処理にユニコードを使用しない方法もあります。Typo3を設定$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';するとすぐに、 の出力echo urldecode("%ce%b7");は正しくなりました。

なぜ私にジョニの答えをecho urlencode("η");見せてくれるのですか。%26%23951%3B

4

2 に答える 2

7

urldecode("%ce%b7")UTF-8 でエンコードされたη を生成します。他のエンコーディングで出力を表示している場合は、別のものが表示される場合があります。

一方、デコードする%26%23951%3Bと、η が得られないのは事実です。ηη の HTML エンティティ コードを取得します。エンティティ コードをデコードするには、次を使用しますhtml_entity_decode

echo html_entity_decode('η', false, 'UTF-8'); // prints η, encoded in UTF-8
于 2012-10-16T14:33:36.747 に答える
2

以下を試すことができます

header('Content-Type: text/html; charset=utf-8');
echo urldecode("%ce%b7"); // output : η

ライブデモを見る

于 2012-10-16T14:28:01.570 に答える