The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблеммы с кодировкой, !*! Max.Zaikin, 13-Май-10, 09:28  [смотреть все]
Доброго времени. Господа проблемма такая.
Имеется База данных mysql кодировка utf8_general_ci. Сайт в кодировке UTF-8

Страница что то вроде
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<form enctype="multipart/form-data" method="post" action="foo.php" id="js">
   <input type="text" name="full_name" id="full_name" value="" size="30" />
   <input type="button" id="btn"  value="Пуск" />
</form>

Так вот при нажатии на кнопку, в отладчике наблюдаю следующую картину
$_POST['full_name']= Тест
При этом в поле full_name вводилось слово "Тест". В базу данных как Вы понимаете попадает то же значение. При заборе этого значения из базы и публикации его в веб мы получаем, номальное слово "Тест"

Теперь о проблемме.
Мне не хочется в базе хранить эти иегролифы (это cp1251 через призму UTF-8). Мне хочется что бы в базу попадало все пачестному без всяких уловок с iconv и тд. Мне кажется что эта проблемма разрешима. Так же я не панимаю пачиму уже по нажатии кнопки в пост попадает это иероглифия.

Заранее благодарен.

  • Проблеммы с кодировкой, !*! alexmasz, 12:12 , 13-Май-10 (1)
    \\index.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8">
        </head>
    <body>

    <form enctype="multipart/form-data" method="post" action="foo.php" id="js">
       <input type="text" name="full_name" id="full_name" value="" size="30">
       <input type="submit" id="btn" value="Пуск">
    </form>

    </body>
    </html>

    \\foo.php
    <?php
        echo $_POST[full_name];
    ?>

    \\.htaccess
    AddDefaultCharset utf-8

    \\MySQL
    utf8_general_ci

    все нормально

    • Проблеммы с кодировкой, !*! Max.Zaikin, 00:51 , 14-Май-10 (2)
      >[оверквотинг удален]
      > echo $_POST[full_name];
      > ?>
      >
      >\\.htaccess
      >AddDefaultCharset utf-8
      >
      >\\MySQL
      >utf8_general_ci
      >
      >все нормально

      Вот и мне кажется , что все нормально, а на самом деле не нормально.
      Самое интересное получается так, что все заточено под UTF-8,а данные вводятся в cp1251 ибо в дебагере я даю iconv("utf-8","cp1251",$_POST['full_name']) и вижу нормальное слово "Тест"




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру