Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows版 PHP7 の環境で CSV アップロードに失敗する #1780

Closed
nanasess opened this issue Sep 20, 2016 · 5 comments
Closed

Windows版 PHP7 の環境で CSV アップロードに失敗する #1780

nanasess opened this issue Sep 20, 2016 · 5 comments
Labels
Milestone

Comments

@nanasess
Copy link
Contributor

商品CSVアップロード機能で確認。

SplFileObject が CSVファイルのヘッダを正常にパースできず、「CSVのフォーマットが一致しません。」というエラーが発生する。

以下のようなパース結果となってしまう。

array:19 [
  0 => "商品ID"
  1 => "公開ステータス(ID)"
  2 => "商品名,ショップ用メモ欄",商品説明(一覧)""
  3 => "商品説明(詳細)"
  4 => "検索ワード",フリーエリア""
  5 => "商品削除フラグ"
  6 => "商品画像",商品カテゴリ(ID)""
  7 => "タグ(ID)"
  8 => "商品種別(ID)"
  9 => "規格分類1(ID)"
  10 => "規格分類2(ID)"
  11 => "発送日目安(ID)"
  12 => "商品コード",在庫数""
  13 => "在庫数無制限フラグ"
  14 => "販売制限数"
  15 => "通常価格"
  16 => "販売価格"
  17 => "送料"
  18 => & "商品規格削除フラグ"
]
@nanasess
Copy link
Contributor Author

厳密に、 locale( と CSV ファイルのエンコーディングを一致させてやると、正常にパースできるようなので、 PHP7 の仕様のようです。

参考

nanasess added a commit to nanasess/ec-cube that referenced this issue Sep 20, 2016
- EC-CUBE#1780
- Windows 版 PHP7 の環境で CSV 形式のファイルを SplFileObject クラスを使用してパースする場合, ファイルフォーマットを既定のロケールと一致させる必要がある
@nanasess
Copy link
Contributor Author

Microsoft Azure WebApps の環境では #1781 の修正を入れなくても、入れなくても正常動作するようです。

  • IIS/8.0
  • locale English_United States.1252
  • PHP7.0.9
  • SQLite 3.8.10.2

@nanasess
Copy link
Contributor Author

CsvImportController で setLocale(LC_ALL, 'English_United States.1252'); とするだけでも正常動作するようです。

@nanasess
Copy link
Contributor Author

  • Windows Server 2012 R2(English)
  • IIS/8.5
  • locale English_United States.1252
  • PHP7.0.9

上記環境でも問題ないことを確認しました。

@ryo-endo
Copy link
Contributor

確認ありがとうございます。3.0.11にマージしました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants