использование кодировки windows-1251 в phpMyAdmin 2.6.0-pl2

Zerg

Guest
использование кодировки windows-1251 в phpMyAdmin 2.6.0-pl2

Текст после заливки в MySql становится нечитаемым.

Сравнение для таблицы cp1251 bin .
справа в разделе Language из русских появляется только utf8.

Wind'ы - Xp Pro (Corp Edition). SP2 - English
php-4.4.0
mysql-4.1.12a-win32
apache_1.3.33-win32-x86-no_src

В чем может быть ошибка?
 

Zerg

Guest
Прочиталось.
Но так ничего и не заработало:
при использовании "SET NAMES cp1251" - буквы превращаются в вопросы.
При перекодировании с помощью «SELECT CONVERT(CONVERT(поле USING binary) USING cp1251) FROM таблица» - часть букв становится русскими, часть - вопросами, пробовал переводить в utf8, koi8r - эффект тот же. После default-character-set=cp1251 в my.ini - тоже вопросы. Функция SHOW VARIABLES LIKE 'character_set_client' выдает utf8.

Может какие-то другие причины?
 

Profic

just Profic (PHP5 BetaTeam)
Очень и очень странно.
Для начала: зачем cp1251_bin? Может cp1251_general_ci использовать?
Далее: где каждый из этих запросов применялся?

При перекодировании с помощью «SELECT CONVERT(CONVERT(поле USING binary) USING cp1251) FROM таблица» - часть букв становится русскими, часть - вопросами
можно пример?
Очень похоже на базу, которая думает, что данные у нее лежат в latin1 (т.е. проблема 2 из приведенной ссылки), но вот "часть вопросами" - для меня загадка.
 

Zerg

Guest
SHOW VARIABLES LIKE 'character_set_client' - в phpmyadmin'е - utf8, в окне mysql - latin1 (что и в инит-файле)

при запросе SELECT CONVERT(CONVERT(поле USING binary) USING cp1251_general_ci) FROM таблица
(в окне phpmyadmin'a)
ошибка
Unknown character set: 'cp1251_general_ci'.
При
"SET NAMES cp1251" ( в php-файле)
Query failed: Unknown character set: 'cp1251_general_ci'

Выглядело так: сначало буквы с умляутами и часть вопросов, а после переведения - русские буквы и вопросы.

Сейчас попробовал установить админом сравнения для таблицы и колонок из cp1251_bin в cp1251_general_ci, так у теперь вообще сразу вопросы появляются, поставил сравнения обратно - всё равно сразу вопросы.
 

Profic

just Profic (PHP5 BetaTeam)
SHOW VARIABLES LIKE 'character_set_client' - в phpmyadmin'е - utf8, в окне mysql - latin1 (что и в инит-файле)
Что и требовалось доказать.
SELECT CONVERT(CONVERT(поле USING binary) USING cp1251_general_ci) FROM таблица
Где ты это увидел в моей ссылке (кодировка != collation)? В phpMyAdmin-e [sql]SELECT CONVERT(CONVERT(поле USING binary) USING cp1251) FROM таблица[/sql]

Короче, если ты еще своими экперементами не убил данные в таблице читай по ссылке ВНИМАТЕЛЬНО "Проблема 2", если убил и есть бекап - там же про перенос данных, если убил и нет бекапов - попрощайся с данными.
Как определить что данные убиты? Если [sql]SELECT CONVERT(поле USING binary) FROM таблица[/sql] возвращает вопросы, то помаши данным ручкой.
 

Zerg

Guest
>Где ты это увидел в моей ссылке (кодировка != collation)?

я просто имел ввиду, что в после изменения collation'а после вставки данных в базу там сразу же стали появляться вопросы вместо ВСЕХ букв.

не стоит так заостряться на данных: они каждый раз добываются php-кодом из

текстового файла.

«SELECT CONVERT(CONVERT(поле USING binary) USING cp1251) FROM

таблица»
я уже писал, что пробовал эту строку использовать.

хотелось бы услышать, что из этой статьи я упустил.
 

Profic

just Profic (PHP5 BetaTeam)
Кажется я въехал. У тебя две проблемы сразу.

Так. Если данные каждый раз добавляются cкриптом, то сделай следующее:
- cоздай в phpMyAdmin-е таблицу нужно сктруктуры с collation cp1251_general_ci (установив его насильно).
- в начале скрипта добавляющего данные сделай "SET NAMES cp1251".
- посмотри в phpMyAdmin-е как отображается, то что добавилось, если криво покажи мне вывод "SHOW CREATE TABLE таблица" для вновь созданной таблицы.

хотелось бы услышать, что из этой статьи я упустил.
Все. Понимание того чего там написано и причинно-следственной связи между симптомами и решением, а не тупого применения всего чего там написано.
 
Сверху