質問 > 管理機能 > 商品CSV登録で、Shift-JISではうまくいくのにUTF-8ではエラーになる。 |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yt1969 |
投稿日時: 2018/6/13 10:42
対応状況: −−−
|
一人前 登録日: 2018/3/3 居住地: 投稿: 91 |
Re: 商品CSV登録で、Shift-JISではうまくいくのにUTF-8ではエラーになる。 そうですか、BOM有無のような単純な事ではなかったようですね、残念。
それでは468様ご指摘のようにもう少し突っ込んで調べる必要がありそうですね。。 |
CheGuella |
投稿日時: 2018/6/12 12:42
対応状況: −−−
|
新米 登録日: 2018/6/8 居住地: 投稿: 5 |
Re: 商品CSV登録で、Shift-JISではうまくいくのにUTF-8ではエラーになる。 ありがとうございます。
BOM無しは試してみたのですが、同じ結果でございました。 |
yt1969 |
投稿日時: 2018/6/9 19:41
対応状況: −−−
|
一人前 登録日: 2018/3/3 居住地: 投稿: 91 |
Re: 商品CSV登録で、Shift-JISではうまくいくのにUTF-8ではエラーになる。 BOMなしのUTF-8(UTF-8N)に変換してから読み込ませるとどうでしょうか。
私は常々、Excelから書き出したUTF-8(BOM付き)のCSVファイルを、UTF-8N(BOMなし)に変換してから商品CSV登録で読み込ませています。 この際、UTF-8(BOM付き)のまま商品CSV登録しますと、「CSVのフォーマットが一致しません。」のエラーが出ます。 ==追記== ちなみにMac+MAMP環境でのこのBOM付き時のエラーは、 src/Eccube/Controller/Admin/Product/CsvImportController.php 87行目の if ($keys !== $columnHeaders) において、 $columnHeaders[0]にファイル先頭のBOMがくっついているために ’商品ID’ !== ‘<BOM>商品ID’ が真になるためのようです。 |
468 |
投稿日時: 2018/6/9 1:03
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品CSV登録で、Shift-JISではうまくいくのにUTF-8ではエラーになる。 /src/Eccube/Service/CsvImportService.phpの中に「CSVのフォーマットが一致しません。」というエラーメッセージを表示している箇所かが
81行目と88行目と2箇所ありますが、どちらのエラーが表示されているか特定する事はできますか? 同じphpファイルの中に文字コードを変換している処理があるのですが(639行目、645行目) Windows環境でなければ、UTF-8から文字コードの変更は行われず、 問題無く処理されそうに見えます。 (Windows環境の場合は、UTF-8→SJIS-winに変換する処理が存在しています)
|
CheGuella |
投稿日時: 2018/6/8 19:12
対応状況: −−−
|
新米 登録日: 2018/6/8 居住地: 投稿: 5 |
商品CSV登録で、Shift-JISではうまくいくのにUTF-8ではエラーになる。 [EC-CUBE] 3.0.16 新規インストール
[PHP] 7 [データベース] MariaDB [WEBサーバ] Apache [現象] 商品csv登録時に、S-JISのcsvファイルであれば正常に登録されるのですが、UTF-8だと「CSVのフォーマットが一致しません。」と表示されます。 日本語以外の言語も含むためUTF-8でインポートする必要があるのですが、対応方法はありますでしょうか? |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |