
phpのhex2binについて
phpで、utf-16の文字をbin2hexに通し、
hex2binに再度かけると、その16進数をutf-8と捉えられ、漢字等が上手く戻りません。
対策等無いですか?
文章では分かりにくいかと思いますので、コードの一例を載せておきます。
<?
$deta = "漢字";
$a = bin2hex(mb_convert_encoding($deta,"UTF-16LE"));
//$aは226f575b
echo hex2bin($a);//ここで「漢字」とechoされて欲しい
?>
実際表示されるのは "oW[ で、これはutf-8では226f575bとなります。
No.1ベストアンサー
- 回答日時:
違います。
正しく元の UTF-16LE に変換されています。
より正確に言えば、 bin2hex で16進文字列に変換されたバイト列が、hex2binで元のバイト列に戻されています。
0x22 0x6f 0x57 0x5b となったバイト列を「UTF-16LEの『漢字』」と解釈するのか、 「ASCII互換コードの 『"oW[ 』」と解釈するのかは、それを表示するアプリケーションです。
例えば、ブラウザに "oW[ と表示されるのなら、それは、ブラウザがUTF-16LEと解釈していないからです。
よって、対策は
・アプリケーション側の設定を変えて、UTF-16LEと解釈するようにする
・UTF-16LEからアプリケーション側で対応している文字コードに変換して出力する
のいずれかになります。
丁寧な回答ありがとうございます
なるほど、そういう事なんですか。
という事は、
echo mb_convert_encoding(hex2bin($a),"UTF-8","UTF-16LE");
とすれば良かった、という事ですよね。
全然気づかなかったです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) I2C接続のLCDディスプレイを使う 2 2023/05/01 17:15
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- その他(プログラミング・Web制作) 質問です 7733を16進にかえると、1E35になると思うのですが、これをbinエディタで入力する時 1 2022/11/28 13:16
- その他(プログラミング・Web制作) Sikulix2.0.5(Jython2.7.3)でcsvを読込WEB検索条件にpasteで文字化け 1 2023/03/31 11:02
- HTML・CSS <meta charset="utf-8"><!-- 文字化け防止ユニコード --> ?最近モバイル 1 2022/12/11 04:27
- Windows 8 メモ帳による文字コード変換 2 2022/09/01 18:38
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- Excel(エクセル) 文字化け。メモ帳でUTF-8に変換後、エクセルへ貼り付けたいです。 3 2022/08/14 07:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字化け
-
FTPコマンドでディレクトリごと...
-
php.iniって。。
-
ファイル一覧表(LAN内の別PC)
-
フォントの色を変えるには?
-
「旭日中綬賞 」とはどんな賞で...
-
PHPのif文でその処理を途中で抜...
-
PHP postgres でロールバック...
-
phpのプログラムエラー
-
phpのswitch文のcaseで
-
mod_phpとcgi版phpはなにがどう...
-
mb_send_mail関数が利用出来ない
-
PDOとmysql_real_escape_str
-
require_once で読み込まれたか?
-
CakePHP2のCronでのShellを使う...
-
APIで出てきたXMLをPHPで表示さ...
-
PHPで吐き出した画像にリンクを...
-
複数ページのセッションの送り方
-
PHPでの別のサーバーのテキスト...
-
phpでmysql接続について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エンコーディングについて
-
ajax 文字化け euc-jp
-
PHPでCSV出力時の文字化け(一部)
-
htaccessでの文字コード設定に...
-
scandir関数取得結果の文字化け
-
データベースから取り出した日...
-
i18n_convert と mb_convert_e...
-
GETで値を渡すと、記号と数...
-
phpMyAdminで文字化け
-
urlencodeしていない日本語をPA...
-
【PHP】ファイル読み込みで...
-
php,mysqlでの文字化け(機種依...
-
PHP関数mb_send_mailで送信する...
-
年と曜が文字化け・・・対応策...
-
PHP、My SQLを使いますが、文字...
-
mb_convert_encoding で?になる。
-
PHPにてメールフォームで文字化け
-
PHPの文字化けした文字だけ削除...
-
phpのhex2binについてphpで、ut...
-
PHPExcelで日本語(漢字)ファ...
おすすめ情報