Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Проблема с кодировкой


Автор: comtat 4.5.2006, 11:51
Сервак linux, на котором лежит база 

база mysql, и D7

там кодировка koi8-r 
при запросе все выводится но русские буквы как карякулы,т.е.
да переводить в win1251 

Как это можно реализовать ??  smile   

Автор: Kesh 4.5.2006, 11:54
comtat, А подключаешься через что, какие компоненты используешь? 

Автор: comtat 4.5.2006, 11:58
классы uMySqlVio, uMysqlCT, uMysqlClient, uMysqlHelpers

Код

MySQLClient.Connect('212.22.....', 'root', 'test', 'comtat', 3306, '', false, 0)


по уму должно бать где-то при коннекте  smile  

Автор: comtat 4.5.2006, 15:38
решение простое 

Код

function ANSI2KOI8R(S: string): string;
var
  Ansi_CODE, KOI8_CODE: string;
  i: integer;
begin
  KOI8_CODE := 'бвчздецъйклмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС-Ъ';
  ANSI_CODE := 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя°ё';
  Result := S;
  for i := 1 to Length(Result) do
    if Pos(Result[i], ANSI_CODE) > 0 then
      Result[i] := KOI8_CODE[Pos(Result[i], ANSI_CODE)];
end;
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)