-
Notifications
You must be signed in to change notification settings - Fork 131
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
fgetcsvRegによるCSV読み込み時に正常にデータを読み取れない場合がある #3938
Comments
fgetcsvの代わりにfgetcsvRegを使用しているのは文字化け対策? |
特定のこの文字列が含まれていたら発生するというものではなさそう |
以下のcsvをsjisとutf8で作成
sjis - fgetcsvReg => OK
sjis - fgetcsvReg => OK
sjis - fgetcsvReg => NG
sjis - fgetcsvReg => NG: 行が複数行に分かれる
sjis - fgetcsvReg => NG: 行が複数行に分かれる sjis - fgetcsvReg(length制限なし) => NG: データが途中で消える |
事前にutf8に変換する方法も考えられるけどsjisの対応をやめるのがよさそう |
テーマの初期データ用CSVでsjisが使われているものがあるので、4系でsjisの対応をやめると問題が起きそう fgetcsvRegに文字コード渡してutf8の場合はfgetcsvを返す? 5系はsjisのサポート切りたい |
5系だと再現しない |
同じCSVでも特定の行でのみ発生
最初のいくつかの列のデータしか配列に入ってこない状態
baserCMS version : 4.8.2-dev
https://github.com/baserproject/basercms/blob/dev-4/lib/Baser/basics.php#L511
5系にも同様の関数が存在する
https://github.com/baserproject/basercms/blob/5.1.x/plugins/baser-core/src/Utility/BcUtil.php#L1608
loadCsvToArrayにて、fgetcsvRegをfgetcsvに変更すると正常にデータを読み取れる
https://github.com/baserproject/basercms/blob/dev-4/lib/Baser/Model/Datasource/DboSource.php#L4502
TODO
The text was updated successfully, but these errors were encountered: