質問 > 管理機能 > CSVで1つのセルに入れた内容がDL後には分割されて表示される |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
furu8427 |
投稿日時: 2020/5/17 19:31
対応状況: 解決済
|
新米 登録日: 2020/5/17 居住地: 投稿: 2 |
CSVで1つのセルに入れた内容がDL後には分割されて表示される ▼テンプレート
[EC-CUBE]バージョン4.0.3 [レンタルサーバ名]Xサーバー [OS] windows10 [PHP] 不明 [データベース] 不明 [WEBサーバ] 不明 [ブラウザ] グーグルクローム最新 [現象] 商品情報CSVの1つのセル内にHTMLを記入してECCUBEで商品CSV登録をした後、再度商品情報CSVをDLする際にセルが2つに分割される(改行処理?)&片方のセル内のダブルコーテーションが二重に表示されるエラーが発生します。 分割される条件となる文字は決まっています。 例として「”~サイズ表”」のサイズ表の後ろの”から改行処理がされてしまい、次のセルに上記以降の内容が記載されます。 全てのダブルコーテーションで起こるわけでなく、上記文字の後ろにあるダブルコーテーションから改行処理がされてしまいます。 メモ帳で見てダブルコーテーションの数を修正しても同様の現象が起きます。 改善方法を教えてください |
468 |
投稿日時: 2020/5/18 9:16
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: CSVで1つのセルに入れた内容がDL後には分割されて表示される 私の開発環境で試してみましたが現象が再現しました。
予想ですが、原因はPHPのfputcsv関数自体の不具合かと思います。 以下のページの「ダブルコーテーションのエスケープにバグがある」のところで説明されています。 https://techracho.bpsinc.jp/baba/2010_03_01/1172 CSV上で項目区切りの「"」とセル内の「"」を区別する為にわざと「""」に変換しているのですが ダブルコーテーションの直前の文字によって変換されない事があるようです。 (今回はたまたま「表」という文字がそれにあたるようです) あまり良い方法ではないと思いますが 「サイズ表 "」と半角スペースを入れる等して文字列を変更するのが 手っ取り早いかと思います。
|
furu8427 |
投稿日時: 2020/5/18 15:42
対応状況: 解決済
|
新米 登録日: 2020/5/17 居住地: 投稿: 2 |
Re: CSVで1つのセルに入れた内容がDL後には分割されて表示される ありがとうございます!
おっしゃって頂いた通り、スペース(全角で1つ)入れたらセルが分割せず正常に表示されました。 原因が分からず非常に困っていたので、本当にありがとうございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |