проблема с кодировкой

TranceMaker

Новичок
проблема с кодировкой

Всем привет!
Я начинающий в этом деле... поэтому появился вопрос..
Для теста пытался вытащить из базы чтонибудь с русским названием и не получилось PHP пишет вот так ????
кодировка базы и таблиц cp1251 в логах ничего необычного не вижу... в чем проблема понять не могу.
 

TranceMaker

Новичок
делаю так и получаю
Код:
mysql> SET NAMES cp1251; Query OK, 0 rows affected (0.00 sec)  
mysql> select * from firma; +----+-----------+-------------+-------------+----------------+ | id | name      | lastname    | dol         | comment        | +----+-----------+-------------+-------------+----------------+ |  1 | ЖИСЖИС    | СИЖСЖИ   
   | ИЖСЖИ       | СЖИСИ          | |  8 | хБЮМ      | хБЮМНБ      | гЮЛЕЯРХРЕКЭ | РЕЯР РЕЯР РЕЯР | |  9 
| юКЕЙЯЮМДП | юКЕЙЯЮМДПНБ | оПНЦПЮЛЛХЯР | БЮШБЮШБ        | | 10 | юКЕЙЯЕИ   | юКЕЙЯЕЕБ    |
 дХП         | ЮБШЮШБ         | +----+-----------+-------------+-------------+----------------+
меня в путти кодировку и вижу все по русски
вот пример что в таблице все верно с кодировкой


Код:
| firma | CREATE TABLE `firma` (   `id` int(5) NOT NULL auto_increment,   `name` varchar(40) character set cp1251 collate cp1251_bin NOT NULL,  
 `lastname` varchar(40) character set cp1251 collate cp1251_bin NOT NULL,   `dol` varchar(40) character set cp1251 collate cp1251_bin NOT NULL,   
`comment` varchar(40) character set cp1251 collate cp1251_bin NOT NULL,   PRIMARY KEY  (`id`) )
 ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1 |
эх..
 

baev

‹°°¬•
Команда форума
Во-первых, при чём тут путти?

Во-вторых, из примера не видно, что у содержимого таблиц с кодировкой всё нормально. Как данные в таблицу попали — совершенно неизвестно.

В-третьих, в статье по ссылке ясно сказано:
Если это не помогло, и всё равно идут вопросики или крокозябры - значит, криво настроена кодировка таблиц. В этом случае см. п. "Исправление БД" ниже.
 

TranceMaker

Новичок
Автор оригинала: baev
Во-первых, при чём тут путти?

Во-вторых, из примера не видно, что у содержимого таблиц с кодировкой всё нормально. Как данные в таблицу попали — совершенно неизвестно.

В-третьих, в статье по ссылке ясно сказано:
по одному из пунктов
show variables like "character_set_database"; Этот запрос выведет кодировку базы mydb по умолчанию.
мой результат
Код:
mysql> show variables like "character_set_database"; | Variable_name          | Value  | | character_set_database | cp1251 |
все нормально cp1251 для русского и должно быть
P.S для каждой таблицы стоит кодировка cp1251 кроме таблицы id потому что там стоит "auto increment"

далее по мануалу ничего толкового не нашел... не пойму в чем проблема... мож я дурак...
OS OPEN SUSE 11.1
 

baev

‹°°¬•
Команда форума
Автор оригинала: baev
из примера не видно, что у содержимого таблиц с кодировкой всё нормально. Как данные в таблицу попали — совершенно неизвестно.
 

Фанат

oncle terrible
Команда форума
mysql> SET NAMES cp1251; Query OK, 0 rows affected (0.00 sec) mysql> select * from firma; +----+-----------+-------------+-------------+----------------+ | id | name | lastname | dol | comment | +----+-----------+-------------+-------------+----------------+ | 1 | ЖИСЖИС | СИЖСЖИ | ИЖСЖИ | СЖИСИ | | 8 | хБЮМ | хБЮМНБ | гЮЛЕЯРХРЕКЭ | РЕЯР РЕЯР РЕЯР | | 9 | юКЕЙЯЮМДП | юКЕЙЯЮМДПНБ | оПНЦПЮЛЛХЯР | БЮШБЮШБ | | 10 | юКЕЙЯЕИ | юКЕЙЯЕЕБ | дХП | ЮБШЮШБ | +----+-----------+-------------+-------------+----------------+
все правильно получаешь.
тольо непонятно, зачем ставишь cp1251 вместо нужной кодировки
 

TranceMaker

Новичок
Автор оригинала: *****
интересная таблица
DEFAULT CHARSET=latin1 это то что мускуль по умолчанию создает, все кодировки поменяны вручную или таблица создана в "сравниние cp1251_bin"

-~{}~ 14.12.09 23:34:

Автор оригинала: *****
все правильно получаешь.
тольо непонятно, зачем ставишь cp1251 вместо нужной кодировки
а как должно быть.. объясни плиз дураку :(
 

O1&g

Новичок
Извиняюсь за оффтоп. А нельзя использовать utf-8 для русского языка?
 

zerkms

TDD infected
Команда форума
O1&g
можно, разрешаем. как это поможет автору треда?
 

TranceMaker

Новичок
в консоли... чесно не знаю) как посмотреть?
P.S когда просматриваю через консоль php файлы и в них есть русские коментарии... то их я не вижу :( мож проблема в это?
PPS подключил к тачке моник и зашел в базу... попробовал селектом чтонить посмотреть и в этих таблицах всеравно увидел ???? .... куда тыкаца уже не знаю
 

Вурдалак

Продвинутый новичок
Похоже, что при SET NAMES 'cp1251' реально данные в таблицу заносились в koi8-r.

-~{}~ 15.12.09 17:16:

Теперь надо поправлять таблицу. Как — описано, например, в статье, ссылка на которую дана во втором посте.
 

Фанат

oncle terrible
Команда форума
или наставил эти character set cp1251 по полям по живым данным.
хотя это вряд ли

TranceMaker сначала тебе надо научиться просто работать с базой данных
а потом только заниматься своими много страдальными таблицами.

кодировка у тебя в жэтой консоли - koi8
 

TranceMaker

Новичок
Автор оригинала: *****
или наставил эти character set cp1251 по полям по живым данным.
хотя это вряд ли

TranceMaker сначала тебе надо научиться просто работать с базой данных
а потом только заниматься своими много страдальными таблицами.

кодировка у тебя в жэтой консоли - koi8
небольшой опыт работы есть, только вот когда таблицы заполнены на русском - с таким не разу не сталкивался.
 

Фанат

oncle terrible
Команда форума
при чем здесь опыт работы? при чем здесь таблицы на русском?
 

TranceMaker

Новичок
после смены кодировки mysql> SET NAMES cp1251;
все вижу на русском , пхп на странице кажет ?????
с мускулем то все понятно, я еще вчера писал....
вот даже пример,так для теста таблицу заполнил.
в косольке действительно стоит кодировка KOI8-U

Код:
mysql> select * from firma; 
+----+-----------+-------------+-------------+----------------+ 
| id | name      | lastname    | dol         | comment        |
 +----+-----------+-------------+-------------+----------------+ |  
  8 | Иван      | Иванов      | Заместитель | тест тест тест | |  
9 | Александр | Александров | Программист | тест        | | 
10 | Алексей   | Алексеев    | Дир         | тест       |
 +----+-----------+-------------+-------------+----------------+
 

Фанат

oncle terrible
Команда форума
читай.
текст.
по ссылке.
если непонятно - там внизу ссылка на документацию mysql ао кодировкам
 
Сверху