Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодируется e-mail при занесении в БД 
:(
    Опции темы
Poveritov
Дата 17.7.2015, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2015

Репутация: нет
Всего: нет



Подскажите, в чем проблема:

есть строка 
$string = "e-mail:[email protected]|status:user:Имя пользователя:Иван", 
вставляю это строку в базу данных 
столбец для данной записи имеет кодировку utf8_general_ci  
В  результате все заносится корректно, кроме адреса электронной почты.

В итоге запись в бд выглядит следующим образом : e-mail:&#103&#107&#118 ... |status:user:Имя пользователя:Иван
PM MAIL   Вверх
ksnk
Дата 17.7.2015, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Откуда берется строка? Из пользовательского броузера?
Можно перед сохранением сделать строке html_entity_decode , но правильнее  - понять в каком месте кодируется емейл, и понять, надо ли его там кодировать, чтобы не раскодировать чего лишнего...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Poveritov
Дата 17.7.2015, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2015

Репутация: нет
Всего: нет



e-mail берется со страницы с кодировкой   windows-1251. Но в скрипте я выполняю функцию Incov (из w1251 в utf8) перед работой со строкой.
Мне не понятен тот факт, что все данные в строке берутся из одной и той же страницы, но заносится все корректно, кроме адреса e-mail  
PM MAIL   Вверх
Poveritov
Дата 17.7.2015, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2015

Репутация: нет
Всего: нет



проверил с помощью функции mb_detect_encoding сам e-mail  [email protected] в кодировке ACII, но почему -то не получается его преобразовать в UTF-8.
Пытался двумя функциями mb_convert_encoding и iconv, но без результата.





Это сообщение отредактировал(а) Poveritov - 17.7.2015, 14:47
PM MAIL   Вверх
ksnk
Дата 17.7.2015, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 14
Всего: 386



Poveritov, Это результат работы функции escape. Для кодировки cp1251 получается довольно неудобоваримая штука.
Можно поискать реализации unescape на php, или написать самому.

Добавлено через 7 минут и 9 секунд
Вот, например


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1025 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.