Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Допустимые символы. |
Автор: Dima85 6.10.2009, 13:18 |
Я отсеиваю все потанциально ненужные и опасные символы таким образом: $messages=~s/[^ .,\\*$%@()~_!?:;\/a-zA-Zа-яА-ЯЁё0-9[\]_-]+//g; Но почему в итоге получаю непонятные символы? Тоесть некоторые буквы такие как "р", "т" пишуться как �: Идея п�ивле�� по�ен�иал�н�� клиен�ов �азмес�и�� �еклам� на сай�е. |
Автор: b00 6.10.2009, 16:55 |
Кодировку скрипта и кодировку входа проверяли? use encoding? |
Автор: gcc 6.10.2009, 17:41 | ||
Dima85,
|
Автор: Dima85 6.10.2009, 20:51 |
Да, везде UTF-8 Когда нет этой фильтрации, все работает хорошо. |
Автор: arto 6.10.2009, 21:25 |
use utf8 |
Автор: gcc 7.10.2009, 06:22 |
Dima85, то что я написал не работает? |
Автор: Dima85 7.10.2009, 13:02 | ||||
Извените что отвечаю так долго. Пытался разобраться сам, перепроверил все кодировки еще раз, везде Dos/Windows формат - UTF-8. Впервые с таким встречаюсь. На вывод тоже стит: print "Content-type: text/html; charset=UTF-8\n\n"; Теперь что касаеться предложенных способов. gcc, ваш способ с use Encode почему-то не сработал. Ошибок нет. Но и выводить текст с переменной $messages он вообще отказываеться. arto, use utf8 тоже не помог. Возможно поможет отрывок кода:
Далее идет отправка на e-mail, сохранение в файл (в котором и появляються нечитабельные символы) и вывод на экнар текста что все прошло удачьно - что тоже странно он выводиться нормально. Может я как-то неправельно сохраняю, выкладываю код:
Спасибо. |
Автор: gcc 7.10.2009, 13:08 | ||
|
Автор: Dima85 7.10.2009, 13:25 |
gcc, латиница и цыфры записываються в файл но вся кирилица стираеться. Насчет $_ и $messages, да действительно в моем случае нужно было заменить $_ на $messages, сам почему-то не додумался. Но в итоге как и раньше - не работает. |
Автор: ginnie 7.10.2009, 13:37 | ||
Dima85, можно попробовать
|