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

Модератор: Модераторы

Re: Проблема с кодировкой

Сообщение Vadim » 20.04.2015 04:03:04

Zhbr
А всё таки, FreePascal у Вас какой версии? Или это страшный секрет? ;-)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Проблема с кодировкой

Сообщение Zhbr » 20.04.2015 11:16:08

Нет, не серкрет последний офф релиз 2.6.4
Zhbr
новенький
 
Сообщения: 44
Зарегистрирован: 31.01.2014 02:34:21

Re: Проблема с кодировкой

Сообщение Снег Север » 20.04.2015 12:55:05

Не совсем понятно - с двух разных компов топикстартер коннектится к одному и тому же серверу, или к разным?
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3039
Зарегистрирован: 27.11.2007 16:14:47

Re: Проблема с кодировкой

Сообщение Zhbr » 20.04.2015 15:58:41

Снег Север писал(а):Не совсем понятно - с двух разных компов топикстартер коннектится к одному и тому же серверу, или к разным?

Да именно, один и тот же код компилируются на разных машинах, версия компилятора одинаковая, на одной есть проблема на другой нет. Сервак mysql отдельный, то есть к нему подключаюсь как с одного компании так и с другого.

Но этот запрос решил проблему
Код: Выделить всё
MySQLConnection.ExecuteDirect('SET CHARACTER SET utf8');
Zhbr
новенький
 
Сообщения: 44
Зарегистрирован: 31.01.2014 02:34:21

Re: Проблема с кодировкой

Сообщение Снег Север » 21.04.2015 08:29:21

Zhbr писал(а):Но этот запрос решил проблему
Код: Выделить всё
MySQLConnection.ExecuteDirect('SET CHARACTER SET utf8');

Вообще-то этот запрос стоит в исходном коде mysqlconn.inc в ConnectMySQL.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3039
Зарегистрирован: 27.11.2007 16:14:47

Re: Проблема с кодировкой

Сообщение VirtUX » 12.05.2015 23:12:45

меня спасло в Windows и Linux:
Код: Выделить всё
{ конектимся к серверу }
  fMySQLConnection.HostName := host;
  fMySQLConnection.UserName := login;
  fMySQLConnection.Password := passwd;
  fMySQLConnection.DatabaseName := nameDB;
  fMySQLConnection.CharSet:= 'utf8'; // Вот оно - заветное (указание для клиента)
...
  { сообщим серверу }
  fSQLQuery.sql.Text := 'SET NAMES utf8';
  if not fMySQLConnection.Connected then fMySQLConnection.Open;
  if fMySQLConnection.Connected then fSQLQuery.ExecSQL
  else ...


P.S. Версии клиента 5.6 и 5.5
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: Проблема с кодировкой

Сообщение Zhbr » 13.05.2015 07:20:43

VirtUX писал(а):fMySQLConnection.CharSet:= 'utf8';

По отдельности данный параметр не влияет на кодировку
Как выяснилось ещё необходимо сообщить
VirtUX писал(а):SQLQuery.sql.Text := 'SET NAMES utf8';

Проблему ещё тогда так решил.
Zhbr
новенький
 
Сообщения: 44
Зарегистрирован: 31.01.2014 02:34:21

Re: Проблема с кодировкой

Сообщение VirtUX » 20.05.2015 11:23:14

Код: Выделить всё
SQLQuery.sql.Text := 'SET NAMES utf8';


...это решает проблему на стороне сервера. А вот для Windows (чтобы "нелатиница" отображалась правильно) нужно:

Код: Выделить всё
fMySQLConnection.CharSet:= 'utf8';
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Пред.

Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

Рейтинг@Mail.ru