powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
15 сообщений из 15, страница 1 из 1
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32662881
Yuraz.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. такая вот проблема, сохраняю запросом из скрипта на PHP в БД информацию, в БД она попадает уже "иероглифами". Делаю тоже самое, но скрипт на перле, сохраняет в БД нормально, в кодировке Win1251. Которая и выставленна по умолчанию в MySQL. В чем может быть дело, никто не знает? Может что с заголовками там не в порядке? В PHP скрипте до этого работаю с cookie, но и без них, однотипно, сохраняет "иероглифы" :( Третий день копаюсь, уже не могу :(
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32663191
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. версия пхп
2. Покажи пример, что вносил в таблицу и что в ней сохранилось.
3. Чем проверяешь ?
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32663749
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Почему ты думаешь, что дело в MySQL? MySQL сам по себе ничего менять не будт, возможно, оно не в той кодировке уже при приходе в скрипт. Чтобы понять, почему так происходит - неплохо бы увидеть хотя бы твою страничку.
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32664146
Yuraz.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В самом начале скрипта такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?php
if(isset($step)){   
  $text = htmlentities($text, ENT_QUOTES);
  $text = str_replace("\n","<br>",$text);
  $host=gethostbyaddr($REMOTE_ADDR);
  $dat= date("Y.m.d G:i:s");
  $zapros = "INSERT INTO comment (bd, sp, opis, ip, host, time, autor, browser) VALUES('$bd','$sp','$text','$REMOTE_ADDR','$host','$dat','$name', '$HTTP_USER_AGENT');";
  e_sql($zapros);  //процедурка, которая выполняет SQL запрос
  setcookie ("Names", "$name", time()+ 31536000 );
  header ("Location: ?");
  exit;
  }
?>

Далее страница:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<HTML>
<HEAD>
<TITLE>
Заглавная страница
</TITLE>
<META http-equiv="content-type" content="text/html; charset=windows-1251">
<META name="description" content="">
<META name="keywords" content="">
<link rel="stylesheet" href="c.css" type="text/css">
</HEAD>
<body leftMargin= 0 
...........

В середине выборка записей из таблицы comment , в которую только что и вставлял. И замечаю.. не русский шрифт.

А внизу страницы обычная форма, со скрытым полем step , и текстовыми полями autor и т.п. (они все перечисленны в SQL скрипте выше). Все оформленно в виде одного скрипта, страницы index.php.

Вот... если вставляю записи с помощью MySQLMan v. 1.09 , вставляется все на РУССКОМ! И в БД на русском. А из скрипта вышеприведенного абракатаброй :). Ничего не понимаю.

Скриптец со строкой:
Код: plaintext
print phpinfo(INFO_ALL); 
Выдает следующее:
PHP Version 4.0.5RC1
а MySQL такой:
3.23.46-nt
:(
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32664455
Dr_Mike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть, если вставляешь с помощью MySQLMan, то в твоей страничке после выборки записи отображаются нормально?
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32664615
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
htmlentities замени на htmlspecialchars
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32664773
Фотография Alex Rootoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может нужно прям в атрибутах форми виставить кодировку в какой клиент будет отправлять дание на сервер?


With best regards Alex Rootoff
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32664840
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Yuraz.com , ты почти ничего не показал - например, откуда берутся данные для вставки? Что за e_sql (мало ли чем она занимается - тут врядли найдутся телепаты)? Для выполнения запроса достаточно mysql_query . Лучше бы привёл форму полностью или написал минмальный скрипт, чтобы убедиться в том, что дело не в MySQL.
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32667509
Yuraz.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, всем спасибо за ответы, завтра на работе буду пробовать,

Код: plaintext
1.
2.
3.
4.
5.
function e_sql($zapros){
   $link = mysql_connect("localhost", "**", "**") or die("Could not connect");
   mysql_select_db("sql") or die(mysql_error());
   $result = mysql_query($zapros, $link) or die(mysql_error());
   }

Да вроде ничего "сверх" такого не написал... Завтра оттестирую, сообщу, если исравилось!
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32667523
Yuraz.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Макс М.htmlentities замени на htmlspecialchars
Макс! это ничего не дало, даже убрал, все равно по старому. :(
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32667865
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
... и не должно было дать. Приведи МИНИМАЛЬНЫЙ скрипт, по которому видно, в какой кодировке у тебя страничка с формой и сама форма (если данные приходят из формы, об их источнике ты до сих пор упорно молчишь), как ты вставляешь данные в базу и как их оттуда выводишь. При этом все излишества, к делу не относящиеся (типа <title>, gethostbyaddr, date, str_replace (кстати, на кой? имхо разумнее это делать при выводе), приводить не надо.
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32667926
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*... и не должно было дать
В PHP < 4.3.0 htmlentities не поддерживает кирилицу

Yuraz.com
1. обнови ПХП (версия 4.0.5 морально устарела)
2.
Код: plaintext
1.
2.
3.
4.
if(isset($step)){   
   echo $text."<hr>";
  //$text = htmlentities($text, ENT_QUOTES);
exit;
в правильной кодировке выводит ?
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32667962
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Макс М.В PHP < 4.3.0 htmlentities не поддерживает кирилицуВопрос для повышения кругозора (древней версии под рукой нет) - а что при её использовании происходит с символами кириллицы? Они исчезают или что?
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32667968
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
echo htmlentities($a, ENT_QUOTES, 'CP1251')."<br>";
echo htmlentities($a, ENT_QUOTES)."<br>";
Выводит
результат
& #1072;& #1073;& #1074;& #1075;& #1076;& #1077;<br>
& agrave;& aacute;& acirc;& atilde;& auml;& aring;<br>

а в броузере это выглядит так :

абвгде<br>
àáâãäå<br>

старые версии не поддерживали кодировку CP1251 и в результате вместо русского была каша
...
Рейтинг: 0 / 0
PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
    #32668125
Yuraz.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех! Благодаря советам у меня заработало. Причем я сам виноват, когда Макс советовал htmlentities замени на htmlspecialchars, я заменил, да не в том модуле программы :) Сегодня, со свежей головы, смотрю, менял не в том месте :) Убрал, сразу все стало нормально. PHP5.0 есть, поставлю, когда хостер тоже у себя обновит, и MySQL обновлю на днях, когда буду инсталировать новый комп у себя дома (хочу парк так сказать обновить.. со стационароного на мобильный:)...
При написании сего скрипта пару раз обращался к справочнику "PHP4 Спец. справочниц" изд. Питер. И надо же что они не подписали к ф-и htmlentities , что она кирилицу не поддерживает :(
Ещё раз спасибо за помощь!
Проект будет жить на sql.h12.ru... но что то у них все в отпусках что ли, что никак не могут MySQL мне включить.. поэтому пока там пусто...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP сохраняет в MySQL не в той кодировке, тоже, на Perl нормально..
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]