php fgetcsv - проблемы с кодировкой кодировки
Использование PHP 5.3fgetcsv
функция, я испытываю некоторые проблемы из-за вопросов кодирования. Обратите внимание, что этот файл имеет испанский "специальный" латинские буквы, такие как графические акценты á, é, í я, так далее...
Я получаю файл CSV, экспортирующий некоторые структурированные данные, которые есть в файле MS 2008 для Mac Excel.
Если я открою его с Mac OS XTextEdit
приложение, кажется, все идет идеально.
Но когда я перехожу к своей программе PHP и пытаюсь прочитать CSV, используя эту функцию PHP fgetcsv, я не получаю ее для правильного чтения кодировки.
/**
* @Route("/cvsLoad", name="_csv_load")
* @Template()
*/
public function cvsLoadAction(){
//setlocale(LC_ALL, 'es_ES.UTF-8');
$reader = new Reader($this->get('kernel')->getRootDir().'/../web/uploads/documents/question_images/2/41/masiva.csv');
$i = 1;
$r = array("hhh" => $reader -> getAll());
return new Response(json_encode($r, 200));
}
Как вы можете видеть, я попытался также использоватьsetlocale
вes_ES.UTF-8
, Но ничего не получится.
Читаемая часть приходит сюда:
public function getRow()
{
if (($row = fgetcsv($this->_handle, 10000, $this->_delimiter)) !== false) {
$this->_line++;
return $this->_headers ? array_combine($this->_headers, $row) : $row;
} else {
return false;
}
}
Посмотрите, что я получаю в переменной $ row после каждого чтения строки:
Те?
персонажи должны быть гласными с графическим акцентом на них.
Есть какая-нибудь подсказка? Будет ли это работать, если я использовал MS Excel для Windows? Как я могу знать во время выполнения точную кодировку файла и установить его перед чтением?
(Для тех, кто говорит по-испански, нев этих текстах меня пугает такая ужасная медицинская штука;)).