Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.59.100.42] |
|
Сообщ.
#1
,
|
|
|
Всем привет.
занимаюсь слегка не стандартной задачей, Outlook методом POST передает HTML содержимое письма в мой скрипт.А мой скрипт сохраняет его в базу. И все хорошо работает за исключением некоторых писем которые приходят от робота. В тексте письма есть с виду обычный дефис. Вот эта фраза [B]Чистили, меняли печатающие головки - не помогло.[/B] особое внимание на дефис, -он простой и в оутлуке он виден как простое тире или минус.. При записи в базу на этом месте тест всегда обрывается , я сохранил текст в файл и вот что увидел на этом месте! (смотри картинку) при попытке скопировать это и вставить в текстовик получается вот такой символ типа Абзац -> ¶ Никакие экранирования типа htmlspecialchars / htmlentities / Str_replace всех минусов и тире, и \n \r \f не помогают. Помогите мне вообще понять с чем я имею дело??? Файл в кодировке утф 8 Прикреплённый файл222.png (9,77 Кбайт, скачиваний: 555) |
Сообщ.
#2
,
|
|
|
Цитата secondvad2 @ (смотри картинку) secondvad2, прикрепи сам файл. |
Сообщ.
#3
,
|
|
|
Цитата JoeUser @ Цитата secondvad2 @ (смотри картинку) secondvad2, прикрепи сам файл. ага! найдешь нужное место поиском по слову "печатающие" Прикреплённый файлdata.txt (3,13 Кбайт, скачиваний: 194) |
Сообщ.
#4
,
|
|
|
Цитата Никакие экранирования типа htmlspecialchars / htmlentities / Str_replace всех минусов и тире, и \n \r \f не помогают. Гм, а каким магическим образов все это в принципе могло бы помочь? Тут кодировка как-то странно побилась. Вероятно, в оригинале было длинное тире (U+2014), но при перекодировке оно превратилось в полный бред. БД, возможно, нервно реагирует на управляющий символ DC4, возможно, просто не может корректно сохранить символ подстановки (U+FFFD). Какую кодировку использует таблица и что конкретно в ней оказывается? Вероятно, виноват аутглюк (раз уж он сам все корректно показывает). Возможно, в тексте изначально есть аномалия, которую аутглюк умудряется обойти - чтобы разобраться, нужен дамп того, что в нем хранится. |
Сообщ.
#5
,
|
|
|
AVA12 Точно! так засиделся что уже совсем зашел в тупик ты оказался прав! дело то на стороне Аутлука.
Пошарил код и заметил, что перед отправкой в крипт VBA тело письма оборачивал в функцию URLEncode(), что естесна тут не при делах) я ее случайно скопировал с другого места где она имеет место быть. Убрал URLEncode при передаче POSTом и все встало на свои места! Спасибо ! Добавлено вопрос решился) |