スレッド表示 | フラット表示〕 全トピック 920 件中 712 番目 次≫ ≪前

SJISのファイルを作成したい

created: 2003-12-15 15:19 | modified: 2003-12-15 15:49 | reply: 2

[1168] SJISのファイルを作成したい

user: らんす ホームページ | created: 2003-12-15 15:19
EUC→SJIS変換に関する問題で手詰まってしまいました。どなたか知恵をお貸しいただけないでしょうか?

RedHatLinux8にApache2 2.0.48、PHP4.3.3、PostgreSQL7.3.4で社内イントラシステムを構築しています。

PHPのソースはすべてEUCで書いているのですが(DBのデータももちろんEUC)、検索条件をフォームに入力して、データベースから検索をかけて結果を表示するという非常にシンプルなプログラムがあります。

今回、この検索結果をExcelやAccessに取り込んで使いたいという要望があり、この検索結果をCSV形式のファイルとしてWebサーバ上で作成し、そのファイルをWinクライアントからダウンロードさせるという(変な?)システムを考えました。

実行結果は当然EUCですので、検索結果を1魚ずつ取り出してはmb_convert_encoding($data, "SJIS", "EUC-JP")で変換して、ファイルに書き出すというプログラムを作成しました。確かに実行結果はすべてSJISになったのですが、改行「\n」がCRLFに変換されずに困っています。

PHPのコードはEUCで、SJISに変換した文字列にCRLFを付けてファイルに出力する方法はありませんか?
reply: 1169 返信 編集 削除

[1169] \n → \r\n

user: ゆうじ | created: 2003-12-15 15:30
当然ながら mb_convert_encodingでは
改行コードまでは変換してくれませんので
こんなところでいかがでしょう。

$data = mb_convert_encoding($data, "SJIS", "EUC-JP");
$data = str_replace("\n", "\r\n", $data);
Parent: 1168  reply: 1171 返信 編集 削除

[1171] 完璧です

user: らんす ホームページ | created: 2003-12-15 15:49
ゆうじさん早速のレスありがとうございました。

早速試したところ、ばっちりできました。
PHPの参考書は5冊くらい持ってるんですが、調べ方が甘いのでしょうね。
「¥r」ってのは初めて知りました。
調べなおしてみたいと思います。

大変助かりました、ありがとうございました。
Parent: 1169  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 712 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑