Я читаю CSV-файл в php, и насколько я понял - такие файлы могут иметь любую кодировку, которая когда-либо была изобретена hoomans omg и так далее ... я думаю, у меня есть кодировка MacRoman ANSI CSV, я работаю на Mac.Как исправить кодировку при чтении CSV-файла?
До сих пор, так хорошо (совсем не хорошо, но тот уже другая тема) .. Теперь, в то время как переборе строк, у меня есть значение как:
Z�rich
Очевидно, что это должно быть «Цюрих» - «у» отсутствует ..
Теперь, я попробовал почти все .. mb_detect_encoding говорит «ложь» так, что он не понимает, что это такое ...
Тогда я нашел класс гения Себастьяна Гриньоли здесь ->Detect encoding and make everything UTF-8
Кажется хорошо, но ... все я получил это:
ZŸrich
на самом деле не «ü» я ожидал: D
Теперь я узнал, что «utf8_encode» будет работать как-то , он генерирует:
Z\u009Frich
но .. что теперь? если я поместил это непосредственно в базу данных, конечным значением является «Zrich», что означает, что он по-прежнему не является UTF-8, или же db просто борется с экранированным вариантом? Когда я делаю mb_detect_encoding по этому значению, он говорит теперь «UTF-8» .. приятно .. но как я могу идти дальше? Как я могу получить «Zürich» правильный путь в UTF-8?
Какая кодировка в столбце базы данных хранит эти значения? –
изменить набор символов на utf8 при создании таблицы – rams0610
в моем приложении, все это utf-8, из таблицы, в код в браузер - все .. проблема здесь возникает, когда я читаю файл, который загружается пользователем, созданным MS Excel на любом клиентском компьютере, поэтому файл может быть закодирован во всем, и я не могу контролировать это:/ (источник: http://stackoverflow.com/questions/508558/ что-charset-does-microsoft-excel-use-when-save-files) – jebbie