PHP 5.3: fgetcsv и пропущенные буквы - PullRequest
1 голос
/ 28 марта 2012

Когда я читаю из CSV-файла методом fgetcsv, он удаляет «Å» и «Ø», если они находятся в начале строки.

while (($data = fgetcsv($handle, 0, "\t")) !== FALSE) {
        echo $data[0]."<br />";
}

предположим, что мой CSV содержит только одну строку ÅbyÅÅÅÅhøjÅ, вывод byÅÅÅÅhøjÅ (обратите внимание на отсутствие "Å" в начале)

есть идеи?

Ответы [ 2 ]

3 голосов
/ 28 марта 2012

Из документации fgetcsv:

Примечание

Настройка языка учитывается этой функцией. Если LANG например, en_US.UTF-8, файлы в однобайтовой кодировке читаются неправильно функция.

Это означает, что вам нужно будет сопоставить кодировку вашей строки с вашей настройкой локали (или наоборот). На bugs.php.net также имеется отчет об ошибке , касающийся несовместимой обработки неожиданных символов во входной строке.

0 голосов
/ 07 апреля 2012

Я только что завернул ввод в кавычки - теперь всегда первый символ для строк будет ".

...