勉強したことのメモ

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でアクセスIPからランダム英数字のIDを作成
PHPでアクセスIPからランダム英数字のIDを作成

PHPで掲示板などにあるようなアクセスIPからランダム英数字のIDを作成したかっ ...

PHPで住所や名前のテキストをランダム生成するライブラリFakerPHPの使い方
PHPで住所や名前のテキストをランダム生成するライブラリFakerPHPの使い方

PHPでランダムなデータを生成したい際に値段や点数等の数値やパスワード等のランダ ...

Fatal error: Cannot redeclare 関数名のエラー
Fatal error: Cannot redeclare 関数名のエラー

PHPにて「Fatal error: Cannot redeclare 【関数名 ...

他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法
他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法

他所のサーバからWPの記事IDを指定した上で、当該IDのタイトル・アイキャッチ画 ...

PHPでXML形式データをオブジェクト・JSON・連想配列に変換する方法
PHPでXML形式データをオブジェクト・JSON・連想配列に変換する方法

先日バニラJavaScriptでXML形式データの取り扱いとJSON形式への変換 ...