Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> база данных и кодировка, кодировка 
:(
    Опции темы
hripun
Дата 29.9.2009, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Сразу говорю прочитал все темы связанные с базой и кривой кодировкой!!!! там нет ответа!
Кодировка в  php у меня  utf-8 в базе тоже поставил utf8_general_ci но выводит руские буквы вот такай фигне頠привет333

так как же сделать что бы  записывалось нормально всё ? 

p.s когда делал в windows-1251 в  php и cp1251_general_ci в базе , было всё норм.. но нужно сделать в utf-8 так как делаю приложение для телефона!
PM MAIL ICQ   Вверх
sTa1kEr
Дата 29.9.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

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



У вас в БД сами данные находятся в кодировке отличной от той которую вы используете. Вам необходимо переконвертировать данные в базе из UTF-8 в cp1251, тогда они будут корректными.

Добавлено через 4 минуты и 13 секунд
Естественно, это при условии, что у вас действительно все кодировки корректно настроены и используется действительно UTF-8

Это сообщение отредактировал(а) sTa1kEr - 29.9.2009, 16:31
PM MAIL   Вверх
hripun
Дата 29.9.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата
У вас в БД сами данные находятся в кодировке отличной от той которую вы используете. Вам необходимо переконвертировать данные в базе из UTF-8 в cp1251, тогда они будут корректными.



Переделал в cp1251_general_ci  базу и тоже самое ( иероглыфы одни...
Цитата
Естественно, это при условии, что у вас действительно все кодировки корректно настроены и используется действительно UTF-8



я сейчас создал новую бд  с кодировкой cp1251_general_ci . как её еще коректней настроить ??? а в коде 
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  а вот таблица 
Код

-- 
-- Структура таблицы `user`
-- 

CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(21) NOT NULL,
  `user` varchar(21) NOT NULL,
  `passwd` varchar(21) NOT NULL,
  `email` varchar(21) NOT NULL,
  `admin` int(11) NOT NULL default '0',
  `date` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;




Это сообщение отредактировал(а) hripun - 29.9.2009, 16:45
PM MAIL ICQ   Вверх
sTa1kEr
Дата 29.9.2009, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

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



Понятно. Тогда вам сначала сюда http://dev.mysql.com/doc/refman/5.0/en/cha...connection.html

Цитата(hripun @  29.9.2009,  17:37 Найти цитируемый пост)
Переделал в cp1251_general_ci  базу и тоже самое ( иероглыфы одни...

Сollation никак не затрагивает данные, основное его назначение - это сравнение строк.

Добавлено через 7 минут и 38 секунд
Цитата(hripun @  29.9.2009,  17:37 Найти цитируемый пост)
я сейчас создал новую бд  с кодировкой cp1251_general_ci . как её еще коректней настроить ??? а в коде 

Код

CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(21) NOT NULL,
  `user` varchar(21) NOT NULL,
  `passwd` varchar(21) NOT NULL,
  `email` varchar(21) NOT NULL,
  `admin` int(11) NOT NULL default '0',
  `date` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

И установка кодировки для каждого коннекта, либо при помощи запроса
Код

SET NAMES utf8;

Либо, если используется PHP, mysqli
Код

mysqli_options($link, 'charset', 'utf8');

Тогда все данные будут в нужной кодировке.

Добавлено через 9 минут и 4 секунды
Ну и соответственно все скрипты должны быть в utf-8 и совершенно правильно у вас
Код

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

PM MAIL   Вверх
hripun
Дата 29.9.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

<?php
function db_connect()
{
   $result = new mysqli('localhost', 'xxxxxx', 'xxxxxx', 'xxxxxxx');
   mysqli_options($link, 'charset', 'utf8');
   if (!$result)
      throw new Exception('<h4>Невозможно подключиться к серверу баз данных</h4>');
   else
      return $result;
}
?>



Вот так должно быть?
PM MAIL ICQ   Вверх
sTa1kEr
Дата 29.9.2009, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


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

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



Ой, я наврал, прошу прощенья. Функция mysqli_set_charset конечно же.
Код

mysqli_set_charset($link, 'utf8');

PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Я думаю, дело не в базе, а в кодировке страницы. Которая должна быть задана не кривым эквивалентом, а нормальным НТТР заголовком.
PM MAIL   Вверх
hripun
Дата 30.9.2009, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

Я думаю, дело не в базе, а в кодировке страницы. Которая должна быть задана не кривым эквивалентом, а нормальным НТТР заголовком.


Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

А это что разве кривой код ?

PM MAIL ICQ   Вверх
skyboy
Дата 30.9.2009, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(hripun @  30.9.2009,  05:47 Найти цитируемый пост)
А это что разве кривой код ?

в браузере какая кодировка отображается, как используемая для страницы? UTF-8 или cp1251? Потому как 
Цитата(hripun @  29.9.2009,  15:14 Найти цитируемый пост)
привет333

- это реальный UTF-8, который выводится как cp1251.
Либо у тебя браузер некорректно выбирает кодировку для отображения(проверить просто - убедись, что стоит UTF-8 и смени на UTF-8, если там что-то другое).
Либо у тебя все же некорректно сохраняется/выбирается.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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