質問 > 管理機能 > 商品登録CSVで文字が消える |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
atsu |
投稿日時: 2014/5/26 14:34
対応状況: −−−
|
一人前 登録日: 2008/5/29 居住地: 投稿: 83 |
Re: 商品登録CSVで文字が消える seasoftさん
ありがとうございます。 環境は下記の通りです。よろしくお願いします。 [EC-CUBE] 2.13.1 [レンタルサーバ] WADAXサーバ [OS] CentOS 6 [PHP] PHP 5.3系 [データベース] PostgreSQL8.4系(UTF-8) [WEBサーバ] apache2.2系 |
atsu |
投稿日時: 2014/5/26 14:36
対応状況: −−−
|
一人前 登録日: 2008/5/29 居住地: 投稿: 83 |
Re: 商品登録CSVで文字が消える nanasessさん
情報ありがとうございます。 私のスキルではわかりかねますが、調べみます。 |
chaco2008 |
投稿日時: 2015/10/28 21:13
対応状況: −−−
|
半人前 登録日: 2015/10/24 居住地: 投稿: 25 |
Re: 商品登録CSVで文字が消える はじめまして。
実は、スレ主様と全く同じエラーが起きておりまして、 環境など確認させて頂きました所、 私とほぼ酷似しております。 EC-CUBE 2.13.3 サーバーOS Linux wx20.wadax.ne.jp 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC 2015 x86_64 DBサーバー PostgreSQL 8.4.20 WEBサーバー Apache PHP 5.3.3 OS windows8.1 この、ダブルクオーテーションで囲わないとCSV登録時に半角英数字前の日本語が消えるという問題は、既に解決出来たのでしょうか?とても気になっています。 もし解決法がございましたら、教えていただきたいと思っております。 一昨日より格闘しているのですが、一向に解決する兆しが見えません。どうか、宜しくお願い致します。 |
chaco2008 |
投稿日時: 2015/10/31 16:48
対応状況: −−−
|
半人前 登録日: 2015/10/24 居住地: 投稿: 25 |
Re: 商品登録CSVで文字が消える 自己解決というか、原因は分かりましたので、簡単に報告致します。
尚、私の環境(ver2.13系、WADAXサーバー使用)限定での現象かもしれませんので、 いくつかポイントはあるのですが、まずEC CUBEからCSVを出力すると、改行の無いテキストデータはダブルクオーテーションで「囲われずに」出力されます。 そして、EC CUBEに「日本語から始まるテキストデータ」をCSVで入力する場合、ダブルクオーテーションで囲われていないと、文頭〜半角英数テキストまでの部分が消えてしまいます。全て日本語のデータであれば、全て消えてしまいます。 なので、例えば商品名が「テストtestテスト」という商品を、CSV出力して、未編集で入力した場合、商品名が「testテスト」となってしまいます。「テスト」という商品名のデータを出力→入力すると、商品名がありませんというエラーになります。 また、「改行の無いテキストデータはダブルクオーテーションで囲われずに出力」という仕様は、EC CUBEだけでなく、エクセルで編集した場合や、キャッサバなどのCSVエディタで編集した場合も同じで、今の所手動でダブルクオーテーションをつけられるツールはメモ帳しか見つけられておりません。 なので、メモ帳でダブルクオーテーションをつけて保存し、そのCSVを他のツールで開き保存すると、ダブルクオーテーションが消えます。 【結論】 エクセルやCSVエディタなどでデータを編集して一括でUPという作業は、私の環境では今の所不可能だという結論に達しました。 私は、ファイルメーカーというソフトで、商品のスペックや説明文等をデータベース化し、それをCSVで出力し登録を行っているのですが、この「ファイルメーカーで出力したCSV」に関しては、改行の無いテキストもちゃんとダブルクオーテーションで囲われて出力されるので、問題なく作業できます。 例えば一斉に価格を変更するような場合も、EC CUBEからCSVを出力して、それを編集するのではなく、ファイルメーカー側でデータを作成してアップすれば問題ありません。 EC CUBEで自動生成される商品IDなどに関しては、まずはファイルメーカで「商品ID」などを空欄にしたCSVを作りアップロードし、商品を新規登録します。 その後、EC CUBEからCSVを出力させると、自動生成された商品IDなどが取り出せるので、それをファイルメーカーに商品コードをKeyにインポート。そうすれば、既存商品の更新等も自由に行えます。 つまり、独自で商品マスターのような仕組みを用意出来ない場合は、このCSVアップ機能は実質使用不可能かと思われます(私の環境の場合は) 以上です。このページはアクセスが3000を超えており、ハマっている人が多い問題なのかと推測します。今後このページを見た人が、何かしら参考になれば幸いです。 |
ikemoto |
投稿日時: 2015/10/31 22:05
対応状況: −−−
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
Re: 商品登録CSVで文字が消える 追加情報として参考になれば…
ダブルクォーテーションを保持したままCSV出力するのは、ファイルメーカー以外にも、Microsoft Accessのエクスポート機能でも可能です。 Accessやファイルメーカーを購入せずになんとかしたいなら MySQLやPostgreSQLなどのデータベースに一旦インポートして加工⇒出力するという方法であれば、heidisqlなどのデータベースクライアントツールから区切り文字など任意に指定して出せる機能があります。 ちょっと手間ではありますが。 エクセルの場合、エクセル側が勝手に色々やらかしてくれるので、 私はインポート用のCSVを作る時やCSV出力を開くとき、 あまりExcelは使わない派です。 読込時でさえ、きちんと設定せずに開くと "012"⇒12 "Apr-1"⇒日付の4/1と解釈してしまう …などになり、これを上書き保存すると…。 昔どうしてもエクセルでカンマ区切り+ダブルクォーテーション指定のCSVファイルを読み込んで、同じ体裁で出力する必要があったときには、 1:csvの拡張子をtxtにして読込 2:ウィザードが起動するのでカンマ区切り、文字列囲み指定 3:列のデータ形式を全て「文字列」にしてOK 4:加工 5:タブ区切りテキストで保存 6:タブをvbScriptで","に置き換え、行の先頭と末尾に"を付与 7:拡張子をcsvにする …という面倒な手順を踏まなければ 「ダブルクォーテーション付きカンマ区切りテキスト」 が実現できませんでした。 素で開くと、012⇒12になってしまうので3の手順が必要だし、 保存の時はウィザードが出てくれないから5〜7の手順にするしかない。 5〜7はエクセルマクロで実現してもよいけれど。 エクセルを使用する場合は、出来ないことはないけど 標準機能だけでは無理(何か抜け道があるなら知りたいです…)。 他のツールでも、ダブルクォーテーションを指定した読込・書き出しが出来るものを使用しないと…ということだと思います。 |
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |