この投稿は、sevencolours24 によって 2013-02-28 16:05:54 によって最終編集されました。
$msg="中国"
次に、このメッセージを別のアプリケーションに送信して受信したいと思います。アプリケーションが正常に表示できるように、メッセージを utf-16 でエンコードされたワイドバイトに変換する方法を説明します。
-----解決策--------------------------------マニュアルを読み、iconv を使用して値を返します
$msg = iconv('usc-2', 'utf-16', $msg);
-----解決策--------------- - ----wchar_t は、拡張文字格納方式である C/C の文字データ型であり、主に国際プログラムの実装で使用されますが、Unicode エンコーディングと同等ではありません。 。 Unicode でエンコードされた文字は通常、wchar_t 型で格納されます。 Char は 8 ビットの文字タイプで、最大 256 文字しか含めることができません。多くの外部文字セットには 256 文字を超える文字が含まれており、char タイプでは表現できません。
wchar_t データ型は通常 16 ビットまたは 32 ビットですが、C または C ライブラリごとに異なる規則があります。たとえば、GNU Libc では、wchar_t が 32 ビットであると規定されています [1]。 char 型をはるかに超えています。
したがって、それは
のみです
iconv('utf-8', 'ucs-2', $msg)
iconv('utf-8', 'ucs-4', $msg)
iconv('utf-8', 'utf-16', $msg)
iconv('utf-8', 'utf-32', $msg)
------解決策--------- ヘッダー("content-type:text /html;charset=utf-8")
これは単なるサーバーの応答ヘッダーです。
ファイルのエンコーディングも UTF-8 ですか? そうでない場合、文字化けは正常です