| 
| 
 | Вопрос # 6 204/ вопрос открыт / | 
 |  Здравствуйте, эксперты! Доброго времени суток творцам.
 Использую ZEOSDBO-7.0.0 как компонент для подключения к Mysql серверу, в написании программы столкнулся лоб в лоб с кодировками. Сейчас на данный момент при вот таком коде:
 
   begin
    zvanie:=ComboBox2.Text;
    vazifa:=ComboBox3.Text;
    sql:='INSERT INTO `ugps` (name, sname,fname,chast,zvanie,vazifa, result, data, otveti, retest) VALUES
('+Chr(39)+Edit2.Text+Chr(39)+','+Chr(39)+Edit1.Text+Chr(39)+','+Chr(39)+Edit3.Text+Chr(39)+','+Chr(39)+ComboBox1.Text+Chr(39)+','+Chr(39)+zvanie+Chr(39)+','+Chr(39)+vazifa+Chr(39)+',NULL,NULL,NULL,NULL);';
 // ZQuery1.SQL.Add('set names cp1251;');
    ZQuery1.SQL.Add(sql);
    ZQuery1.Active:=true;
    ZQuery1.ExecSQL;
    ZQuery1.sql.Clear;
    ZQuery1.Free;
  end;При вводе (!)русских букв(!) из приложения имею вот такую ошибку:
 First chance exception at $75EF9673. Exception class EZSQLException with message 'SQL Error: Incorrect string value: '\xD0\xF3\xF2\xE1\xE0' for column 'zvanie' at row 1'. Process Tester.exe (4968)
 
 Mysql весь перелапатил, настройки такие:
 
 
 +--------------------------+-------------------------------------+
| Variable_name            | Value                               |
+--------------------------+-------------------------------------+
| character_set_client     | cp1251                              |
| character_set_connection | cp1251                              |
| character_set_database   | cp1251                              |
| character_set_filesystem | binary                              |
| character_set_results    | cp1251                              |
| character_set_server     | cp1251                              |
| character_set_system     | utf8                                |
| character_sets_dir       | C:\MySQL Server 5.1\share\charsets\ |
+--------------------------+-------------------------------------+ сама таблица такая:
 
 | ugps  | CREATE TABLE `ugps` (
  `name` char(18) CHARACTER SET cp1251 COLLATE cp1251_bin DEFAULT NULL,
  `sname` char(18) CHARACTER SET cp1251 COLLATE cp1251_bin DEFAULT NULL,
  `fname` char(18) CHARACTER SET cp1251 COLLATE cp1251_bin DEFAULT NULL,
  `chast` char(18) CHARACTER SET cp1251 COLLATE cp1251_bin DEFAULT NULL,
  `zvanie` char(18) CHARACTER SET cp1250 COLLATE cp1250_bin DEFAULT NULL,
  `vazifa` char(33) CHARACTER SET cp1251 COLLATE cp1251_bin DEFAULT NULL,
  `result` char(33) CHARACTER SET cp1251 COLLATE cp1251_bin DEFAULT NULL,
  `data` datetime DEFAULT NULL,
  `otveti` int(11) DEFAULT NULL,
  `retest` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 | Помогите пожалуйста, уже гугл весь затыкал по линкам, CodePage=cp1251 в свойстве Properties у компонента ZConnection1 не помогает, аналогично ZQuery1.SQL.Add('set names cp1251;');  не работает, ума не приложу как доделать, как быть в четверг уже софт сдавать...
 
|  |   Вопрос задал: winner13 (статус: 1-ый класс)Вопрос отправлен: 19 июня 2012, 22:40
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 6 июля 2012, 14:15; участников в обсуждении: 1. 
|   | Amidamaru (статус: 4-ый класс), 6 июля 2012, 14:15 [#1]:а какая у вас версия делфи? новые версии делфи работают на юникоде, поэтому возможно вы отправляете юникод-строку когда сервер работает с cp1251.
 попробуйте
 
 SET names unicode;или 
 SET names utf8; ps поле "zvanie" вообще имеет кодировку cp1250, это так и должно быть?
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |