Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: проблема с кодировкой при добавлении в бд
Форумы портала PHP.SU » » Вопросы новичков » проблема с кодировкой при добавлении в бд

Страниц (1): [1]
 

1. haveFun - 26 Июля, 2011 - 19:17:09 - перейти к сообщению
во время выполнения аякс-запроса, в пхп-файл-обработчик приходит переменная
PHP:
скопировать код в буфер обмена
  1. echo $addtext = $_POST['addtext'];

- слово на кириллице.
далее коннект к бд, и последующее добавление слова в таблицу:
PHP:
скопировать код в буфер обмена
  1. require_once 'connect2db.php';
  2. $add = mysql_query('insert into '. c2db::select_table($config) .'
  3.         values("NULL", "NULL", "'. $addtext .'")');

после чего добавленное слово становится в невиданной кодировке (это видно в пхп.май.админе).

как с этим раком бороться?
прикол в том, что при добавлении слова через форму - запись происходит как надо, но при использовании аякса всплывает такой вот бэд. можно было бы придраться к отправляемой переменной, но ведь слово приходит на кириллице... Не понял

упд:
PHP:
скопировать код в буфер обмена
  1. mysql_query('insert into '. c2db::select_table($config) .'
  2.                         values("NULL","NULL","фыв")');

такой запрос добавляет фыв, а с переменной, отображаемой эхом тот же самый фыв - записывает какую-то ерунду.
2. DeepVarvar - 26 Июля, 2011 - 19:23:48 - перейти к сообщению
Сайт на 1251?
3. haveFun - 26 Июля, 2011 - 19:25:44 - перейти к сообщению
все 2 файлика в анси, бд: утв-8 юникод восприимчивый к регистру
4. DeepVarvar - 26 Июля, 2011 - 19:28:15 - перейти к сообщению
Гдето я слышал, но утверждать не буду - аякс косячно передает 1251.
Заголовки все отправляете? метатеги проставлены?

Ну и как P.S. переходите на утф-8 пока файлика всего два (надеюсь) - проблем таких не будет.
(Добавление)
haveFun пишет:
2 файлика в анси, бд: утв-8 юникод
ну вот и ясно откуда проблема растет Закатив глазки
(Добавление)
(Гвардии) УТФ-8 (японский) генерал_ЦЫ Радость
5. haveFun - 26 Июля, 2011 - 19:34:20 - перейти к сообщению
перекинул в утф-8, поудалял на выходе
PHP:
скопировать код в буфер обмена
  1. iconv("WINDOWS-1251", "UTF-8", $r['sonic'])

все стало корректно отображаться, спасибо! Хорошо
6. DeepVarvar - 26 Июля, 2011 - 19:43:10 - перейти к сообщению
haveFun а должно вообще без iconv нормально работать
7. dieGo_nk - 27 Июля, 2011 - 09:02:51 - перейти к сообщению
Просто у вас скорей всего в БД на таблицу установленна другая кодировка..

 

Powered by ExBB FM 1.0 RC1