「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

ラベル画像のエンベディング

前回の投稿(ラベル画像の切り出し)で...

ラベル画像の切り出し

前回の投稿(Mac+PostgreS...

フロント担当のTIL 2025/06

「Today I Learned(今日学んだこと)」を記録するTIL、6月は新マシンが納品され、GPU仮想化からローカルLLM環境の構築まで、いろいろ試行錯誤しました。

Mac+PostgreSQLでベクトル検索

前回の投稿で予告したように、今回から...