LINUX.ORG.RU
ФорумAdmin

Интриги. Скандалы. Расследования. Проблемы при экпорте из CSV на сервер в кодировке ANSI.

 ,


0

2

Предыстория

Перенес сайт на новый сервер, версию PHP ставил такую-же, почти. Старая - 5.5.12, новая - 5.5.37.

Проблема

Клиент стал жаловаться, что у него «трудности» с экпортом данных на сайт. Со слов клиента на старом сервере все работало и никаких вопросов с экспортом не возникало. Сейчас клиент не может выполнить выгрузку данных на сервер с настройками по умолчанию.

По шагам, что делает клиент

Cохраняет Excel файл как CSV, который приходит уже год с одного источника. Файл сохраняется в кодировке `ANSI`. На сервере есть куча файлов, загруженных и переименованных, в кодировке ANSI, что наводит на мысль, что именно так это и происходило.

Клиент никогда не заморачивался по поводу кодировок. Все работало со всем настройками по умолчанию. Он всегда так делал. Как он говорит.

Экспортирует на сайт в базу данных специальным PHP скриптом.

Скрипт проверяет кодировку файла. По умолчаюнию в скрипте указано, что формат загружаемого файла в коддировке - UTF-8. ANSI этим скриптом вообще не поддерживается, его нельзя выбрать в списке. Скрипт спотыкается, т.к. находит неподдерживаемые символы. Файл в ANSI, а в странице экспорта стоит UTF-8. ANSI нет вообще.

Подробности

Все настройки правил в `/etc/php/5.5/fpm/php.ini`. Сверял построчно и выставил значения как на старом сервере.

Конфиг nginx тоже со старого взял, минимальные правки сделал, пути до socket-а c php.

Не пойму, или меня в заблуждение вводят? Или я чего-то в настройках сервера упускаю?

Еще вычитал, что ANSI на самом деле не кодировка, а кодировка по-умолчанию, которая стоит на компьютере.



Последнее исправление: dopedopedope (всего исправлений: 2)

1. Может быть, и на старом сервере тоже самое было бы, просто раньше везло и только латинские символы в файлах встречались? 2. Если «скрипт спотыкается», на функции
iconv('utf8', 'cp1251', $str)
значит настройки сервера не имеют значения, эта функция никакие настройки сервера не использует. 3. Если «скрипт спотыкается» на передаче данных в MySQL - значит необходимо где-то настроить кодировку.

PeleWin
()

Перенес сайт на новый сервер

this в первую очередь. мб версия пыха тут не причем, смотрите что с кодироваками на старом было и что стало на новом сервере.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.