Легенда:
   новое сообщение
    закрытая нитка
    новое сообщение
    в закрытой нитке
    старое сообщение
         
		 | 
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
 - Новичкам также крайне полезно ознакомиться с данным документом.
   
  |   | 
Тогда такой вопрос  02.12.05 20:31  Число просмотров: 3561
 Автор: Я тут мимо шел Статус: Незарегистрированный пользователь
 | 
 
Я в my.cnf указал:
 [mysqld]
 default-character-set=koi8r
 
 Вхожу в mysql, делаю
 create database tratata charaxter set=koi8r;
 Проверяю
 show create database tratata;
 все правильно, кодировка koi8r.
 Закачиваю на сервер file1.sql вида
 create table qqq(...) character set=koi8r;
 Загружаю его в базу:
 mysql <file1.sql
 Проверяю:
 show create table qqq;
 все правильно, кодировка koi8r.
 Закачиваю на сервер file2.sql вида
 insert into qqq(...);
 в кодировке koi8r.
 При выдаче в браузер получаю ??? вместо русских букв.
 Где я торможу? ПАМАГИТЕ!!! :)
 | 
 
| 
<web building>
 |  
 
Необходимо ли в системе (в самом Линуксе) на сервере с БД...  02.12.05 17:03  
 Автор: Я тут мимо шел Статус: Незарегистрированный пользователь
 | 
 
Необходимо ли в системе (в самом Линуксе) на сервере с БД MySQL устанавливать кодировки, которые используются в таблицах БД? 
 Т.е. если в Линуксе русских кодировок не установлено, сможет ли MySQL корректно выдавать в сеть русские буквы?
 | 
 
 
  | 
Сможет. У Мускула своя поддержка кодировок.  02.12.05 18:56  
 Автор: Den <Денис Т.> Статус: The Elderman
 | 
 
| 
 | 
 
 
  |   | 
Тогда такой вопрос  02.12.05 20:31  
 Автор: Я тут мимо шел Статус: Незарегистрированный пользователь
 | 
 
Я в my.cnf указал:
 [mysqld]
 default-character-set=koi8r
 
 Вхожу в mysql, делаю
 create database tratata charaxter set=koi8r;
 Проверяю
 show create database tratata;
 все правильно, кодировка koi8r.
 Закачиваю на сервер file1.sql вида
 create table qqq(...) character set=koi8r;
 Загружаю его в базу:
 mysql <file1.sql
 Проверяю:
 show create table qqq;
 все правильно, кодировка koi8r.
 Закачиваю на сервер file2.sql вида
 insert into qqq(...);
 в кодировке koi8r.
 При выдаче в браузер получаю ??? вместо русских букв.
 Где я торможу? ПАМАГИТЕ!!! :)
 | 
 
 
  |   |   | 
Кое-как решил проблему  03.12.05 09:55  
 Автор: Я тут мимо шел Статус: Незарегистрированный пользователь
 | 
 
Добавлением в my.cnf строчек
 [client]
 default-character-set=koi8r
 добился того, что в базу русские буквы загружаются правильно.
 
 А вот получить русский текст из базы удалось только с помощью
 mysql_query(mysql, "SET NAMES koi8r")
 
 Но это же идеологически неправильно.
 Получается, что без этой строчки MySQL при выдаче данных всегда перекодирует строки в непонятную кодировку. Неужели нет способа указать БД, что выдавать информацию нужно в той кодировке, в которой она лежит в базе?
 | 
 
 
  |   |   |   | 
Ну почему же? Можно!...  05.12.05 14:36  
 Автор: Den <Денис Т.> Статус: The Elderman
 | 
 
Достаточно в своей программе осуществить получение текущего чарсета из глобальной переменной сервера и послать соответствующую sql команду переключения кодировки, подставив туда полученное значение.
 
 Но, наверное, правильнее было прописать в my.cnf  в разделе [client] тот чарсет, который используется на клиенте, тогда не пришлось бы менять кодировку при каждом подключении.
 Например, если клиент виндовый, то можно прописать следующее:
 [client] 
 default-character-set=cp1251
 | 
 
 
  |   |   | 
Сделал show variables;  02.12.05 20:50  
 Автор: Я тут мимо шел Статус: Незарегистрированный пользователь
 | 
 
Сделал
 show variables;
 и нашел там такие переменные
 
 character_set_client latin1
 character_set_connection latin1
 character_set_database koi8r
 character_set_results latin1
 character_set_server koi8r
 character_set_system utf8
 
 Может быть их надо настроить?
 | 
 
 
  |   |   | 
"При выдаче в браузер получаю ??? вместо русских букв. " Скрипт делает запрос к базе. На чем написан скрипт?  02.12.05 20:40  
 Автор: Garick <Yuriy> Статус: Elderman
 | 
 
| 
 | 
 
 
  |   |   |   | 
Скрипт на C написан  02.12.05 20:43  
 Автор: Я тут мимо шел Статус: Незарегистрированный пользователь
 | 
 
| 
Сообщения скрипта на русском языке выводятся правильно, а вот данные из базы в ? превращаются. :(
 | 
 
 
  
 
 | 
 |