勉強したことのメモ

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

  関連記事

htaccessではなくPHPでベーシック認証をかける方法
htaccessではなくPHPでベーシック認証をかける方法

htaccessではなくPHPでベーシック認証をかける方法についてソースコードを ...

PukiWikiでバックアップを週一等スケジュール化して実行する方法
PukiWikiでバックアップを週一等スケジュール化して実行する方法

PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...

PHPで「Warning: date(): It is not safe to…」エラーの対応方法
PHPで「Warning: date(): It is not safe to…」エラーの対応方法

PHPでdate関数を使った際に「Warning: date(): It is ...

「lz-string」ライブラリで圧縮した文字をPHPで展開する際に文字化けする場合の対応方法
「lz-string」ライブラリで圧縮した文字をPHPで展開する際に文字化けする場合の対応方法

以前、JavaScript / PHPにて「lz-string」を用いてデータの ...

PHPでフォーム送信の際に禁止ワードのチェック及び制限をかける方法
PHPでフォーム送信の際に禁止ワードのチェック及び制限をかける方法

掲示板等のformを送信する際に特定の禁止ワードが含まれていないかチェックするプ ...