Страница 2 из 2

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

СообщениеДобавлено: 20.04.2015 04:03:04
Vadim
Zhbr
А всё таки, FreePascal у Вас какой версии? Или это страшный секрет? ;-)

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

СообщениеДобавлено: 20.04.2015 11:16:08
Zhbr
Нет, не серкрет последний офф релиз 2.6.4

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

СообщениеДобавлено: 20.04.2015 12:55:05
Снег Север
Не совсем понятно - с двух разных компов топикстартер коннектится к одному и тому же серверу, или к разным?

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

СообщениеДобавлено: 20.04.2015 15:58:41
Zhbr
Снег Север писал(а):Не совсем понятно - с двух разных компов топикстартер коннектится к одному и тому же серверу, или к разным?

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

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

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

СообщениеДобавлено: 21.04.2015 08:29:21
Снег Север
Zhbr писал(а):Но этот запрос решил проблему
Код: Выделить всё
MySQLConnection.ExecuteDirect('SET CHARACTER SET utf8');

Вообще-то этот запрос стоит в исходном коде mysqlconn.inc в ConnectMySQL.

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

СообщениеДобавлено: 12.05.2015 23:12:45
VirtUX
меня спасло в 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

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

СообщениеДобавлено: 13.05.2015 07:20:43
Zhbr
VirtUX писал(а):fMySQLConnection.CharSet:= 'utf8';

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

Проблему ещё тогда так решил.

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

СообщениеДобавлено: 20.05.2015 11:23:14
VirtUX
Код: Выделить всё
SQLQuery.sql.Text := 'SET NAMES utf8';


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

Код: Выделить всё
fMySQLConnection.CharSet:= 'utf8';