За последние 24 часа нас посетил 20231 программист и 1698 роботов. Сейчас ищут 1689 программистов ...

сохранение данных под UTF8

Тема в разделе "Вопросы от блондинок", создана пользователем igpl, 13 май 2008.

  1. igpl

    igpl Активный пользователь

    С нами с:
    7 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    Адрес:
    Латвия, Даугавпилс
    Лирика:
    Сделал сайт в национальной кодировке CP1257. Все работает, но язык один.
    Переделал на многоязыковой UTF8. Появилась проблема - при записи в БД
    национальные символы заменяются на знак '?', хотя данные, сохраненные в прежней
    кодировке, по-прежнему отображаются правильно.

    Вопрос:
    Как сохранить национальные символы?

    Помогите кто может, кто может помогите ...

    PHP:
    1.  
    2. /* заголовок страницы */
    3. <head>
    4.     <title><?php echo $text['welcome']; ?></title>
    5.     <meta http-equiv="Content-Type" content="text/html; charset=utf8" />...
    6.  
    БД table, column charset utf8, Collation utf8_latvian_ci
    данные поля zametka 'āa'

    PHP:
    1.  
    2. /* запрос */
    3. ...
    4. mysql_query("SET NAMES 'utf8'");
    5. mysql_query("SET CHARACTER SET 'utf8'");
    6. $query="SELECT zametka FROM akt ...";
    ...
    PHP:
    1. $row=mysql_fetch_array($res);
    2. $zametka = $row['zametka'];
    запрошенные и полученные данные 'āa'

    PHP:
    1.  
    2. /* форма для редактирования */
    3. print "<div id='edit'><form method=post action='form5.php?edit_act=".$id."'>";
    4. print "<br><br><b>note:</b>";  
    5. print "<br><input name='zametka' value='$zametka'>";
    6. print "<br><br><input type='submit' value='Сохранить' name='save'>";
    7. print "</form></div>";
    отображаемые данные 'āa'
    введенные данные 'āa'

    Здесь будет плохо
    PHP:
    1. /* сохранение данных */
    2. $zametka2 = $_POST['zametka'];
    3. $query="update akt set zametka='$zametka' ...";
    сохраненные данные '?a'
    данные в таблице '?a'

    Спасибо.
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    А сами файлы в ANSI или UTF8?
    +
    Я не знаю как для Латвии, но для азербайджанской я делал простой utf8_bin, а не utf8_turkish (алфавиты совпадают)
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    В бинарном варианте поиск регистрозависим.
     
  4. igpl

    igpl Активный пользователь

    С нами с:
    7 фев 2008
    Сообщения:
    30
    Симпатии:
    0
    Адрес:
    Латвия, Даугавпилс
    Файлы:
    под CP1257 - ANSI;
    под UTF8 - UTF8.
    Разницу я понял, когда переводил сайт на UTF :) .
    Завтра поэкспериментирую с кодировками БД.

    В данный момент не кретично, но учту.

    Огромное спасибо.