*

PHP substr エスケープ処理で文字化け

公開日: : PHP, 開発

PHP substr 文字化け

mb_substrで文字コードを合わせて切り取ればOKって記事は沢山あるので割愛。
それでも一部記号が文字化けするのでなんでだろうと頭を悩ませてしまったので。。。記録
php5.3系

切取り方

$string = mb_substr($string, 0, $length, 'UTF-8');

これで解決するのなら頭を悩ませる必要は無かったのですが、
ダブルクオーテーション等の特殊文字のエスケープ処理をしている場合

“テスト文字列”

"テスト文字列"

の様な文字列に変換されています。
切取りの場所が悪いと表示の際に

"テスト文字列&q

の様な表示になり文字化けをしているように見えてしまいます。。。

$string = htmlspecialchars_decode($string, ENT_QUOTES);
$string = mb_substr($string, 0, $length, 'UTF-8');
$string = htmlentities($string, ENT_QUOTES, mb_internal_encoding());

一旦エスケープした文字列を戻してから切取り、再度エスケープ処理をする事で問題は解消。

なんてない事でしたが、文字コードを疑ったり見当違いな所を一生懸命調べてました(;´∀`)

関連記事

droid

Androidで課金アプリ作製 定期購読サンプルコード編

Androidで課金アプリ作製 定期購読編 In-app Billing v3を使用したアプリ開発

記事を読む

c2

C言語 バッファオーバーランまで ポインタ考察編

趣旨 ただC言語を勉強してもモチベーションがあがり辛いので、 取り合えずバッファオーバーランを目

記事を読む

droid

Google Cloud Messaging プロジェクトナンバー API Key取得編 2014/07最新版

Google Cloud Messaging プロジェクトナンバー APK取得編 コンソールの仕様

記事を読む

jquery-logo_png

jQuery Google画像検索風プラグイン

Google画像検索風プラグイン rc_gallery_open こういったプラグインは数多の開

記事を読む

server_error_500

Apache 500 Internal Server Error

久しぶりに自宅のローカルサーバーを動かしたら「Server error!」が出てゑっ!? 解決方法

記事を読む

droid

Androidで課金アプリ作製 エラー編(-1008:Unknown error)

Androidで課金アプリ作製 エラー編 In-app Billing v3を使用したアプリ開発で

記事を読む

apache -h

Macで ローカルサーバー構築 Apache設定編

Macで ローカルサーバー環境を構築するまで Apache設定編 ネットでの情報は必要最低限しか載

記事を読む

apache -h

Macで ローカルサーバー構築 Postfix基本編

Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載

記事を読む

php-logo

PHPで指定日の祝日を取得する方法 GoogleAPI利用

google APIを利用して指定日が祝日かどうか取得する 技術的な内容を書く場合は載せてるコード

記事を読む

jquery-logo_png

jQuery 要素の相対位置

jQueryを使って要素の相対位置を調べる Google先生に「jquery offsetLeft

記事を読む

jquery-logo_png
jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン

水平スクロール&cssでカスタム可能なスクロールバーなプラグイン j

c
C言語 バッファオーバーランまで 関数の引数ポインタ

関数引数としてのポインタ 今回は関数引数としてのポインタに関して。

c2
C言語 バッファオーバーランまで ポインタ考察編

趣旨 ただC言語を勉強してもモチベーションがあがり辛いので、 取り

droid
Google Cloud Messaging プロジェクトナンバー API Key取得編 2014/07最新版

Google Cloud Messaging プロジェクトナンバー A

jquery-logo_png
jQuery removeClass 特定のクラスを全て削除

特定のクラスを全て削除 フォームを作成した時に、入力項目に不備があっ

→もっと見る

PAGE TOP ↑