Непонятки с systoutf8

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Непонятки с systoutf8

Сообщение zub » 04.12.2011 21:34:06

Предистория: На WinXPx86 все прекрасно работало, поставил Win7х64 (лазарь рев33961 и фпц х86 рев19748) - перекосило кодировку: systoutf8 в ответ на анси строчку с рускими буквами возвращает её обратно, не перекодировав((
Прошу объяснить результат работы вот этого тестика:
Код: Выделить всё
program project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this },fileutil;

{$R *.res}
var
   s:string;

begin
  s:='C:\zcad\cad\programdb\argusspectr/Оповещение/am.pas';
  writeln(s);
  writeln(systoutf8(s));

  writeln('C:\zcad\cad\programdb\argusspectr/Оповещение/am.pas');
  writeln(systoutf8('C:\zcad\cad\programdb\argusspectr/Оповещение/am.pas'));
end.


исходник сохранен в анси, на выходе:
C:\zcad\cad\programdb\argusspectr/Оповещение/am.pas
C:\zcad\cad\programdb\argusspectr/Оповещение/am.pas
C:\zcad\cad\programdb\argusspectr/╬яютх∙хэшх/am.pas
C:\zcad\cad\programdb\argusspectr/Оповещение/am.pas

Вторая и четвертая строки не перекодированы, почему?
Что за бред в третьей строке?

исходник сохранен в utf8, на выходе:
C:\zcad\cad\programdb\argusspectr/Р?РїР?Р?РчС%РчР?РёРч/am.pas
C:\zcad\cad\programdb\argusspectr/Р?РїР?Р?РчС%РчР?РёРч/am.pas
C:\zcad\cad\programdb\argusspectr/╨╛╨┐╨╛╨▓╨╡╤Й╨╡╨╜╨╕╨╡/am.pas
C:\zcad\cad\programdb\argusspectr/Р?РїР?Р?РчС%РчР?РёРч/am.pas

Перекодировать незачем, но снова бред в третьей строке, откуда?
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: Непонятки с systoutf8

Сообщение Alexx2000 » 04.12.2011 22:23:47

Судя по ревизии используется FPC 2.7.1, до этого тоже он использовался или нет? В нем сейчас полностью переделывается работа со строками, и Lazarus с ним еще не может правильно работать.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 489
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Непонятки с systoutf8

Сообщение zub » 04.12.2011 23:15:22

да, был 2.7.1, ревизия помладше. Ниразу не замечал неправильной работы, вот только сейчас. Попробовал старый ексешник, со времен XP - работает. Видимо переход на семерку совпал с "неправильным" комитом. придется пока перекодировать ручками((
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26


Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru