「mb_convert_encoding」のご利用は計画的に

Date:

Share post:

「mb_convert_encoding」
普段は特に用のないものですが、
CSVを出力する時などには重宝します。

大抵の場合、出力するデータを全て用意し、
出力する直前に一気にコンバートするものだと思います。

しかし、コンバート後に加工が必要な場合、
どのように対応しているでしょうか?

例えば、ヤマトの送り状をCSV出力しようとした時、
文字制限に引っかかったら分割・切り捨てする必要があります。
その際の文字制限はバイト数です。
その為、一旦SJISにコンバートしてから加工しなければなりません。

一度SJISにしたものを再度UTF8にするのは無駄な処理だと考えれば、
他の要素も個別でコンバートする必要があります。

個別でもちゃんとコンバートできていれば問題はありませんが、
取りこぼしが発生するとたまりません。

「mb_detect_encoding」や「mb_check_encoding」等、
文字コードをチェックする処理もある為、
チェックした上で必要なものだけコンバートするという予防法も考えられます。

が、このチェックは完璧ではないようで、
安心して使う事ができません。
チェックに失敗し多重にコンバートすると文字化けを起こします。

多重コンバートをしない為には、
加工後に再度文字コードを戻すか、
間違いなく全ての要素にコンバートを行うように、
後から見て分かりやすくプログラムする必要があります。

迷走したくない方は、
「mb_convert_encoding」のご利用は計画的に行いましょう。

Related articles

パーツを追加してみよう!

前回は作成したデザインテンプレートの...

パーツを編集してみよう!!

前回はsakutto lpでテンプレ...

Laravel: fakerのuniqueメソッド...

テストを行う際にfakerの使用は必...

テンプレートデザインを使ってランディングページを作...

ユーザー登録が完了したら、まずはデザ...