UTF-16にエンコードされている文字列をUTF-8へデコード
エンコードされている文字列であまり見かけない感じのものがあった。UTF-8やShift-JIS、EUC-JPではなく、色々調べるとUTF-16でエンコードされていた。以下でUTF-8にデコードできた。
<?php $body = '\u30c6\u30b9\u30c8'; $decoded = preg_replace_callback( '|\\\\u([0-9a-f]{4})|i', function($matched){ return mb_convert_encoding(pack('H*', $matched[1]), 'UTF-8', 'UTF-16'); }, $body ); echo $decoded;//テストと表示される。
■参考サイト
関連記事
-
-
PHPで=$hoge;?>みたいに省略して書く際の設定
さくらvpsで<?=$hoge;?>とか省略して書こうとしても書けな ...
-
-
フォームデータを一気に取得
<? error_reporting(E_ALL & ~E_NOT ...
-
-
PHPの連想配列と正当性のチェック
ソースの解析中、こんな書き方があったのか、 と思ったのでメモ。 $List = ...
-
-
MySQLiでDELETE文
MySQLiでDELETE文 ■ソース $mysqli = new mysqli ...
-
-
PHPで多次元連想配列のキーを指定してソート
やりたかった事は、 ・多次元配列があってcodeというキーでソートしたい という ...
-
-
コマンドの実行履歴を確認する
SSH接続した際のコマンド実行履歴を確認したかった。 history で確認でき ...
-
-
日付と時間のピッカー
ここだとbootstrap使用だけど、他に良さそうなものがあったのでメモ。 ■参 ...
-
-
PHPで「Unable to allocate~」とエラー
PHPで「Unable to allocate memory for pool」 ...
-
-
PHPでdo-while(0)の利点
社内のソースで do { //処理内容 if ($test) { break; ...
-
-
PHPの構文チェック
JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...