バグ報告 > 管理機能 > 商品登録CSVのダウンロードでのバグ 詳細コメントでタグを使っている場合 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2008/5/2 0:13
対応状況: −−−
|
Re: 商品登録CSVのダウンロードでのバグ 詳細コメントでタグを使っている場合 横から失礼します。
データが崩れる、というのはExcelでのお話でしょうか。 CSVには確固とした仕様は無いように思いますが、一応下記のルールが一般的です。 ○レコードは改行(LF, CR, CR+LF)で区切られる。 ○フィールドはカンマ(,)で区切られる。 ○フィールドはダブルクオート(")で囲うことが出来る。 (上記区切り文字がデータの中にある場合は↑は必須) ここまでは良いのですが、今度はデータの中にダブルクオートがある場合、これも当然何らかのエスケープ処理をしてやる必要があります。 (そうしないと、その次のキャラクターがたまたまカンマや改行文字であった場合、そこでフィールドが終わってしまったり、ダブルクオートの対応が崩れてしまいます。) このダブルクオートのエスケープが、以前から2通りありまして。 1.バックスラッシュ(\)でエスケープする方法 (" => \") 2.ダブルクオート(")でエスケープする方法(" => "") で、Excelのデフォルトの仕様は、と今手元のExcel2003で単純に開いてみると、どうやら上記 1.の方の対応が怪しいようです。 もしExcelを利用されている上での問題でしたら、この辺りが原因かも知れません。 ちなみにExcel2003では、2.の方式に手作業で書き換えてみると、改行・ダブルクオート含みの(ちょっと嫌らしい)CSV、ついでにTSVファイル(カンマの代わりにTAB区切り)もすんなり読み込むことが出来ました。 EC-CUBEは1.の方式?っぽいので、これを全て2.の方式に書き換えればとりあえずExcel等での読み込みには支障が出なくなるかも知れません。(ver2系ならSC_Helper_CSV.php 辺り、ver1系なら・・・あちこち ^_^;) # ちなみに、上記で?が付いてしまうのは、EC-CUBEではこの辺りのポリシーがあまり統一や考察されていない様に見える、という部分が気になるからです。是非、一つのシステムの中では、「原理的にシンプルで(できれば正しく)」統一して欲しいもんです。 (例えばSC_Helper_CSV.php の248行目 $tmp = ereg_replace("[\",]", " ", $tmp); とか、すっごくいやーな空気が漂ってるんですが。) 上記には、間違いや勘違いがあるかも知れません。 開発者の方々や詳しい方の補完が頂ければ幸いです。 よろしくお願いします。 |
|
ゲスト |
投稿日時: 2008/5/2 0:18
対応状況: −−−
|
Re: 商品登録CSVのダウンロードでのバグ 詳細コメントでタグを使っている場合 って書いて、読み返したら始めっからEC-CUBEでのアップロードの話でしたか。
失礼しました。 しかしダウンロードしてアップロードするまでの間に修正作業が入るとすると、Excelも使いたいかも、そう無駄でも無いかも、と言うことでご容赦下さい ・・・同様の問題で他でいろいろ悩んだもんで |
|
ゲスト |
投稿日時: 2008/5/12 12:00
対応状況: −−−
|
Re: 商品登録CSVのダウンロードでのバグ 詳細コメントでタグを使っている場合 この問題はとりあえず解決しているようですが、あえてもしできればということですが、
現在商品を500や1000登録してあり、やはり商品詳細で ・レコードは改行(LF, CR, CR+LF)で区切られる。 上記の改行がはいっているためかCSVダウンロードするとエクセルファイルが、めちゃくちゃになってしまうのですが、上記の改行があってもどうにかセル内にうまくつめこむ方法というか裏ワザでもなんでもいいのですが、あると本当にありがたいとおもっています。 無理ですよね?? |
|
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |