Tag:PHP ( 4 Posts)
CSV出力時に使うfputcsv関数の改行コードはOS に依存するので、Linuxサーバーでfputcsvを使うと改行コードがLFになる。
出力したCSVファイルをローカル(Windows)で開く時、ExcelやAccessではLFでも改行してくれるけど、
Windows標準のnotepadでは改行されない。(WindowsではCR+LF)
メモ帳にnotepad使わないから、すっかり改行コードについて見落としてた・・・・。
(一応ヘッダーには改行コードr\n"で入れてたのに)
fputcsv関数の改行コードについて、どうしたものかと調べていたら、
「九州男児Webプログラマの備忘録」様に掲載されていた方法で上手くいきました。
出力したCSVファイルをローカル(Windows)で開く時、ExcelやAccessではLFでも改行してくれるけど、
Windows標準のnotepadでは改行されない。(WindowsではCR+LF)
メモ帳にnotepad使わないから、すっかり改行コードについて見落としてた・・・・。
(一応ヘッダーには改行コードr\n"で入れてたのに)
fputcsv関数の改行コードについて、どうしたものかと調べていたら、
「九州男児Webプログラマの備忘録」様に掲載されていた方法で上手くいきました。
$outputFile = 'data.csv'; $csv_data = array ( array('aaa', 'bbb', 'ccc', 'dddd'), array('123', '456', '789') ); //fputcsvでCSVファイル書き込み $fp = fopen($outputFile,'w'); foreach($csv_data as $line){ fputcsv($fp,$line); } rewind($fp); $buf = str_replace("\n", "\r\n", stream_get_contents($fp)); fclose($fp); $fp = fopen($outputFile, 'w'); fwrite($fp, $buf); fclose($fp);
//エンコードする前にここで指定 mb_substitute_character(0x3013); //この場合〓に変更 $str = "文字列"; $str = mb_convert_encoding($str,"sjis-win", "UTF-8");
正常にエンコードできなかった時に指定した文字に置き換えされる。
文字の指定はUnicodeの数値で指定する。
参考:Unicode対応 文字コード表
WordPressのカスタマイズやプログラムのデバッグ中、
変数の内容を確認したい時に「print_r」で出力するよりも見やすい超便利なデバッグツール。
http://dbug.ospinto.com/
使い方
データベースリソースにも使えるので、便利です。
READ MORE
変数の内容を確認したい時に「print_r」で出力するよりも見やすい超便利なデバッグツール。
http://dbug.ospinto.com/
使い方
- こちらのサイトのダウンロードでdBug.phpをダウンロードします。
- サーバーの任意の場所にアップロードします。
- 確認したい変数のあるPHPファイルに下のおまじない文を書いて、呼び出します。
- ブラウザでそのPHPファイルを確認すると、中身が分かりやすく表示されます。
//中身がでるでるおまじない include_once("dBug.php");//ここでアップしたdBug.phpを呼び出して new dBug($変数);//確認したい変数いれるデバッグ中、意図した表示ができない時、すぐおまじない書きます。
データベースリソースにも使えるので、便利です。
READ MORE
RECENT POSTS
SEARCH