powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / iconv список кодировок
3 сообщений из 3, страница 1 из 1
iconv список кодировок
    #38402593
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Не могу разобраться в таком вопросе: есть сервер на котором лежит сайт, есть этот же сайт локально (синхронизирован через github). По крону на ресурсе происходит чтение почты и запись новых сообщений в базу. Так вот, в базе всё разумеется должно быть в единной кодировке, а потому письма, кодировка которых отлична от utf-8 переводятся в неё через iconv. Локально всё нормально, а на сервере вчера словили ошибку
серверPHP Error[8]: iconv(): Detected an illegal character in input string
При этом она на сервере выскакивала на каждом вызове (то есть не просто случайный сбой, а именно зависание на каком-то письме). А локально проводил чтение 3 раза и всё норм :) Потом перегрузил свою локальную базу на сервер и чтение продолжилось как и должно (то есть это "неправильное" письмо было пройдено и чтение пошло в штатном режиме).
Потому вопрос, могут ли установленные в системе локали или что-то ещё влиять на работу данной функции (ну и утилиты iconv в целом)? И если могут, то что именно может вызвать данную ошибку?

Заранее спасибо
...
Рейтинг: 0 / 0
iconv список кодировок
    #38402681
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрПотому вопрос, могут ли установленные в системе локали или что-то ещё влиять на работу данной функции (ну и утилиты iconv в целом)?Могут и влияют, но, думаю, не в данном случае.

Програмёрчто именно может вызвать данную ошибку?Ругается на серверillegal characterУточните, что это за символ, откуда он берется... А после уж видно будет, что с ним делать. В принципе, никто ж не запрещает пихать в письмо всякую непотребную абракадабру. Как вариант, неправильно определена кодировка исходного текста.
...
Рейтинг: 0 / 0
iconv список кодировок
    #38402834
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleПрограмёрПотому вопрос, могут ли установленные в системе локали или что-то ещё влиять на работу данной функции (ну и утилиты iconv в целом)?Могут и влияют, но, думаю, не в данном случае.

Програмёрчто именно может вызвать данную ошибку?Ругается на серверillegal characterУточните, что это за символ, откуда он берется... А после уж видно будет, что с ним делать. В принципе, никто ж не запрещает пихать в письмо всякую непотребную абракадабру. Как вариант, неправильно определена кодировка исходного текста.

Спасибо, прислушался к совету и проверил в каком месте идёт такой косяк... В письме присутсвует некоторая конфиденциальная инфа, потому всё письмо целиком показать не могу :) Но суть такая:
письмо состоит из двух частей... первая имеет mime тип:
Content-Type: text/plain;
charset=euc-kr
Content-Transfer-Encoding: base64

вторая:
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: base64

Если переводить каждую из этих частей например онлайн декодером, то периодически встречаются непереводимые символы (вместо них показывает знак вопроса в ромбике). Эти символы не имеют никакой закономерности, некоторые находятся в середине слова, другие - в начале. Но при этом в обязательном порядке после каждого такого символа появляется перенос строки, которого по тексту реально нету (с типами переносов никак не связано, так как текст в base64, а там соответственно символы 0x0A и 0x0D никак не используются).

Считаю, что что-то подобное происходит и у нас на сервере... В это же время онлайн интерфейс яндекса всё показывает как надо (то есть каждый символ был переведён нормально), и мой локальный сервер тоже справился с задачей.

Может встречались с подобным? Или хотя бы расскажите предположения, что может быть... никак не пойму в чём дело... С кодом это тоже никак не связано, ведь тогда, если бы это был мой косяк, то у меня не работало бы тоже (да и не думаю, что в топовом в гугле декодере допустили бы такую же ошибку). Какая либо разница в заимодействии почты и сервера тоже исключена, ведь скопированные именно с моей консоли данные перевелись в декодере с ошибкой. Остаётся видимо только iconv... Но что там может отличаться, ведь я в её у себя не трогал (думаю на основном сервере её тоже не трогали)... То есть и тут и там она установлена с настройками по-умолчанию.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / iconv список кодировок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]