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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> utf8_encode/utf8_decode через пост форму, Бока с кириличей при передаче через POST 
:(
    Опции темы
webaliser
Дата 28.8.2009, 11:13 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как правильно поставить цепочку занесения данных 
  • из формы в базу
  • из базы в шаблон

Используемая схема:
  • Редактор Notepad++
  • Кодировка файлов UTF-8 без BOM
  • Страница charset=UTF-8 с POST-формой
  • Пост через utf8_encode в базу в поле LONGBLOB
  • Запрос в базу, потом utf8_decode и еcho

Что получается:
  • Ввожу "Наши работы"
  • Получаю "На�?и работы"

Спасибо всем за конструктивную идею...
PM MAIL   Вверх
wil
Дата 28.8.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Как в базе записано? Посмотри через phpmyadmin.
Попробуй в начале скрипта вывода из БД:
Код

setlocale(LC_ALL, 'ru_RU.UTF-8', 'rus');

--------------------
 
PM MAIL WWW   Вверх
webaliser
Дата 28.8.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не вылечило! Кстати, может еще одна зацепка чем то поможет

В форме полей много, и если заполнять все поля одинаково, в некоторых все ОК, а некоторые глючат! Щас посмотрю в каких форматах эти поля в базе...

Добавлено через 4 минуты
Поля некоторые были в TEXT, Конвертация в LongBlob помогла, всем спасибо!
PM MAIL   Вверх
IZ@TOP
Дата 28.8.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



webaliser, а для чего вам нужно "Пост через utf8_encode в базу в поле LONGBLOB", если у вас все данные и входят и выходят в utf? И для чего вам поля longblob, если не секрет? Вы пишите туда мегабайты текста?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
webaliser
Дата 30.8.2009, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Что-то в этом роде... Там просто проходит экспорт данных из Oracle в мускул, поля одного типа smile и вообще, я к базе никакого отношения не имею. smile Проектировать - работа другого человека, я лишь могу чуток вмешаться в его работу, что-либо посоветовать. У него были грабли - я попробовал помочь.

На счет ввода и вывода в UTF-8 , без данной функции выводило больше "зябликов". Не знаю чего...
PM MAIL   Вверх
Ипатьев
Дата 30.8.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Цитата(webaliser @  28.8.2009,  11:13 Найти цитируемый пост)
Получаю "На�?и работы"

где получаю?
в какой момент из четырех (а не двух) перечисленых:
Цитата(webaliser @  28.8.2009,  11:13 Найти цитируемый пост)
# из формы скрипт
# из скрипта в базу
# из базы в скрипт
# из скрипта в шаблон



Это сообщение отредактировал(а) Ипатьев - 30.8.2009, 10:49
PM MAIL   Вверх
webaliser
Дата 30.8.2009, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребят, вопрос решен.

А вообще, Ипатьев, в перный вводим и в последнем получаем... Как бы догадаться не сложно!  smile

Добавлено через 1 минуту и 3 секунды
IZ@TOP, Дело в том, что туда не только тексты пишутся
PM MAIL   Вверх
skyboy
Дата 30.8.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



Цитата(webaliser @  28.8.2009,  10:13 Найти цитируемый пост)
# Пост через utf8_encode в базу в поле LONGBLOB
# Запрос в базу, потом utf8_decode и еcho

для нормальной работы с UTF-8 должны соблюдаться следующие условия:
  • данные - в utf-8(очевидно)
  • кодировка таблицы(и столбца в частности) указана utf8
  • в PHP скрипте перед первым запросом устанавливается кодировки клиента, запроса и результатов пр помощи выполнения единственного запроса: 
    Код

    SET NAMES utf8
такое не сработает в очень редком количестве случаев, связанных либо с устаревшими версиями ПО(к примеру, mysql 4), либо... даже не представляю, в каком ещё случае.
В любом случае переходить к RAW-полю LONGBLOB - это разве не означает отказаться от работы, как с текстом? ни сортировки, ни поиска...
Цитата(webaliser @  30.8.2009,  11:33 Найти цитируемый пост)
А вообще, Ипатьев, в перный вводим и в последнем получаем... Как бы догадаться не сложно!

ты не понял. только на одном из четырех этапов на входе будет нормальный текст, а на выходе - с искажениями.
PM MAIL   Вверх
Ипатьев
Дата 30.8.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



webaliser
для тех, кто плохо разбирается в программировании, поясняю:
искажения могут быть на любом этапе.
и профессия программиста состоит в том, чтобы определить - на каком именно.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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