勉強したことのメモ

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及びjavascriptで日付の比較をしたく、締切日とかではなく ○日前と ...

PHPで指定したカラーコードの反対色を計算し、カラーコードとして出力する方法
PHPで指定したカラーコードの反対色を計算し、カラーコードとして出力する方法

あるシステム内でユーザが指定したカラーコードをCSSで指定した上で出力するという ...

PHPにて同一サーバの別ディレクトリでセッションを振り分ける方法
PHPにて同一サーバの別ディレクトリでセッションを振り分ける方法

同じサーバ内にmemberとownerの別ディレクトリがあり、それぞれにsess ...

PHP Simple HTML DOM Parserを使用したスクレイピング方法
PHP Simple HTML DOM Parserを使用したスクレイピング方法

PHPでスクレイピングする際、preg_match_all等を用いて必要なデータ ...

PHPからDBX Platformを利用してDropbox内にディレクトリ(フォルダ)を作成する方法
PHPからDBX Platformを利用してDropbox内にディレクトリ(フォルダ)を作成する方法

PHPからDBX Platformを利用してDropbox内にディレクトリ(フォ ...