勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでCSVファイルを出力する際に「①」や「㈱」等の環境依存文字が文字化けする対応方法

  PHP

過去記事の方法を用いてPHPでCSVファイルを出力すると所々「?」という形に文字化けしている箇所があった。CSVに記入するデータを確認すると「①」や「㈱」等の環境依存文字が文字化けしているっぽい。環境依存文字を使用しないのがベストだけど、何とかこのまま文字化けを解決したかった。以下に対応方法をメモ。

 

ソースコード

基本的には過去記事のソースコードを使うが以下部分を変更すること。

#変更前
mb_convert_variables('SJIS', 'UTF-8', $csv);

#変更後
mb_convert_variables('SJIS-win', 'UTF-8', $csv);

SJIS-winとは

Windows用の環境依存文字に対応したShift_JISになる。SJISかSJIS-winで迷ったらSJIS-winにしておけば良さそう。

 - PHP

  関連記事

PHPでCSVファイル出力用の関数
PHPでCSVファイル出力用の関数

ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...

Codeigniter4で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
Codeigniter4で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

Codeigniter4.4.4でCSS及びJavaScriptファイルを設置し ...

PHPでファイルパスorフォルダパスの確認
PHPでファイルパスorフォルダパスの確認

PHPで画像とか触る際にフォルダのパス、ファイルのパスを 知りたいことがあったの ...

PHPで携帯(スマホ含)とPCの判別
PHPで携帯(スマホ含)とPCの判別

PHPにて携帯(スマホ含む)とPCで処理を振り分けたかったのでメモ。 <? ...

PHPにて三項演算子をより簡単に書けるNull合体演算子について
PHPにて三項演算子をより簡単に書けるNull合体演算子について

PHPにて〇〇という変数もしくは配列に値があれば××という変数にその値を格納、無 ...