Я могу только догадываться без подробностей, таких как вводимые японские буквы, как неправильно конвертированы.
str_getcsv () видит системный языковой стандарт, поэтому установка японского языкового стандарта может решить проблему.
Этот код
setlocale(LC_ALL, 'ja_JP');
$data = array_map('str_getcsv', file('japanese.csv'));
var_dump($data);
работает со следующим CSV-файлом (japanese.csv, сохраненным в UTF-8) на моем локальном компьютере.
日本語,テスト,ファイル
2行目,CSV形式,エンコードUTF-8
Результаты
array(2) {
[0]=>
array(3) {
[0]=>
string(9) "日本語"
[1]=>
string(9) "テスト"
[2]=>
string(12) "ファイル"
}
[1]=>
array(3) {
[0]=>
string(7) "2行目"
[1]=>
string(9) "CSV形式"
[2]=>
string(20) "エンコードUTF-8"
}
}
Как видите, str_getcsv () требует, чтобы вы знали, какие языки используются во входном CSV-файле.На этот раз вы можете быть уверены, что ввод всегда осуществляется на японском языке, но он не пригоден для анализа CSV, если его язык непредсказуем.Кроме того, вам следует быть осторожным, чтобы указанная локаль могла отсутствовать, если ваш код используется в другой среде.