ホームページ  >  記事  >  バックエンド開発  >  シングルバイトからワイドバイトへ

シングルバイトからワイドバイトへ

WBOY
WBOYオリジナル
2016-06-13 12:51:591299ブラウズ

シングルバイトをワイドバイトに変換します

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