Вопрос избитый, но все же - проблема с кодировкой

asgard

Новичок
Вопрос избитый, но все же - проблема с кодировкой

Здраствуй, All.

Прошу не отправляйте меня к факу и поиску - уже опробовал)))
Вводная:
- локальная машина, под виндой
- php 5.0
- mysql 5.0.67
-phpmyadmin 3.2.0.1
Итак:
- в phpmyadmin (3.2.0.1) - ввожу данные в таблицу на русском языке (кодировка в mysql (5.0.67) utf8, collacation utf8_general_ci) - в самом phpmyadmine все правильно выглядит на русском - в выводе на странице знаки вопроса))
- при соединении с базой данных стоит SET NAMES UTF8
Проблему вывода решил так, сделал скрипт, через который и добавляю данные в таблицу - вывод окей, в phpmyadmin - ГлавнаÑ..

Народ, подскажите где копать? И что изменить? Хочется и данные в phpmyadmin видеть нормально)
 

asgard

Новичок
Структура таблицы представлена:
CREATE TABLE IF NOT EXISTS `123` (
`id` int(11) NOT NULL,
`001` varchar(30) NOT NULL,
`002` varchar(50) NOT NULL,
`003` varchar(50) NOT NULL,
`004` varchar(30) NOT NULL,
`005` varchar(250) NOT NULL,
`006` text NOT NULL,
`007` text NOT NULL,
`008` text NOT NULL,
`009` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
В полях 006-009 русский текст
 

asgard

Новичок
Автор оригинала: vovanium
А страница/скрипт у тебя в UTF8?
SET Names стоит после подключения к базе данных:
PHP:
$this->db_link=@mysql_pconnect($this->host, $this->login, $this->pass); //connect dbase
    if (!$this->db_link) 
    {
    $this->dbase_error = mysql_error();
    return false;
    } 
    
    if (!$this->db_select()) return false;
    mysql_query("SET NAMES UTF8"); //set UTF8 codepage
Страница и скрипт в UTF8
 

vovanium

Новичок
asgard
Страница и скрипт в UTF8
Сомнительно, у тебя заголовок с кодировкой указывается в скрипте?
Добавь перед запросом который добавляет в базу строку
PHP:
print_r(mysql_fetch_row(mysql_query("SHOW VARIABLES LIKE 'character_set_connection'")));
 

findnext

Новичок
asgard

[TELEPAT MODE ON]
default charset в настройках apache


AddDefaultCharset UTF-8 что то типа такого


в httpd.conf

[TELEPAT MODE OFF]
 

asgard

Новичок
Автор оригинала: vovanium
asgard

Сомнительно, у тебя заголовок с кодировкой указывается в скрипте?
Добавь перед запросом который добавляет в базу строку
PHP:
print_r(mysql_fetch_row(mysql_query("SHOW VARIABLES LIKE 'character_set_connection'")));
Скриптом, как я писал ранее текст добавляется нормально, только кривым отображается в phpmyadmin, выводится тоже нормально. Мне нужно в первую очередь добавлять текст нормально phpmyadmin))

1. не работает..
2. в апаче utf8
 

vovanium

Новичок
asgard
Скриптом, как я писал ранее текст добавляется нормально, только кривым отображается в phpmyadmin, выводится тоже нормально
Раз в phpmyadmin выводится неправильно, значит твой скрипт неправильно добавляет, другого не дано. А якобы правильно показывает он по той причине, что он работает в одинаково неправильной кодировке, как при добавлении так и при выводе...
 

asgard

Новичок
Автор оригинала: vovanium
asgard

Раз в phpmyadmin выводится неправильно, значит твой скрипт неправильно добавляет, другого не дано. А якобы правильно показывает он по той причине, что он работает в одинаково неправильной кодировке, как при добавлении так и при выводе...
Конечно, это первое, что приходит на ум, но это не так. Кодировка везде правильная... подозрения на винду.
Под юниксом все заработало)) Спасибо все за помощь)
 

Активист

Активист
Команда форума
asgard
У меня подозрения, что кодировка твоей БД, созданая - неверная.
 

Активист

Активист
Команда форума
cDLEON
Насколько я помню, PHPMyAdmin берет кодировку из свойств базы данных (default character set), и на основании ее уже делает преобразования.
 

asgard

Новичок
Автор оригинала: Активист
cDLEON
Насколько я помню, PHPMyAdmin берет кодировку из свойств базы данных (default character set), и на основании ее уже делает преобразования.
В том то и суть, что кодировка везде правильная))) если было бы все так очевидно, мой вопрос здесь и не появился))
 

vovanium

Новичок
asgard
подозрения на винду
У винды проблем с кодировками нет, есть проблемы с настройкой софта, скорее всего апача, посмотри заголовки которые отдает сервер.
 

findnext

Новичок
asgard
почему у других проблем нет? или у тебя особенная винда? не может быть таккак ты говоришь потому что это комп, а комп работает по определённым правилам!

-~{}~ 24.07.09 11:23:

если везде утф8 значит будет работать 100%.
 

iceman

говнокодер
asgard
в пхпьайадмин на главной есть - Сопоставление соединения с MySQL вот и там норм поставь и смотри че и как

-~{}~ 24.07.09 11:39:

и еще "каракули" (не "вопросики") обычно выводит когда кодировка страницы например win1251 а c бд данные пришли в utf8 и наоборот...
 

DiMA

php.spb.ru
Команда форума
с пхп вконце скрипта выполни SHOW VARIABLES и покажи
с пхпмайадмина - тоже самое
 

asgard

Новичок
Спасибо всем, кто отвечал))) проблему нашел)) причем она была указана выше в моем посте))
Надо было всего лишь mysql_query("SET NAMES UTF8"); //set UTF8 codepage поставить после того, как я выбрал нужную базу данных, а не после подключения. Все работает!
С меня бутылка для всех!!
 
Сверху