fixed UTF8 to Sys conversions for file operations

git-svn-id: trunk@16259 -
This commit is contained in:
vincents 2008-08-26 19:57:21 +00:00
parent b95d6e1054
commit c6d49b3802
2 changed files with 14 additions and 10 deletions

View File

@ -359,10 +359,12 @@ function NeedRTLAnsi: boolean;
const
CP_UTF8 = 65001;
{$ENDIF}
{$IFNDEF Windows}
var
Lang: String;
i: LongInt;
Encoding: String;
{$ENDIF}
begin
if FNeedRTLAnsiValid then
exit(FNeedRTLAnsi);
@ -370,7 +372,6 @@ begin
FNeedRTLAnsi:=GetACP<>CP_UTF8;
{$ELSE}
FNeedRTLAnsi:=false;
{$ENDIF}
Lang := SysUtils.GetEnvironmentVariable('LC_ALL');
if Length(lang) = 0 then
begin
@ -386,6 +387,7 @@ begin
FNeedRTLAnsi:=(SysUtils.CompareText(Encoding,'UTF-8')=0)
or (SysUtils.CompareText(Encoding,'UTF8')=0);
end;
{$ENDIF}
FNeedRTLAnsiValid:=true;
Result:=FNeedRTLAnsi;
end;
@ -399,17 +401,17 @@ end;
function UTF8ToSys(const s: string): string;
begin
if NeedRTLAnsi then
Result:=s
Result:=UTF8ToAnsi(s)
else
Result:=UTF8ToAnsi(s);
Result:=s;
end;
function SysToUTF8(const s: string): string;
begin
if NeedRTLAnsi then
Result:=s
Result:=AnsiToUTF8(s)
else
Result:=AnsiToUTF8(s);
Result:=s;
end;
function FileExistsUTF8(const Filename: string): boolean;

View File

@ -27,10 +27,12 @@ function NeedRTLAnsi: boolean;
const
CP_UTF8 = 65001;
{$ENDIF}
{$IFNDEF windows}
var
Lang: String;
i: LongInt;
Encoding: String;
{$ENDIF}
begin
if FNeedRTLAnsiValid then
exit(FNeedRTLAnsi);
@ -38,7 +40,6 @@ begin
FNeedRTLAnsi:=GetACP<>CP_UTF8;
{$ELSE}
FNeedRTLAnsi:=false;
{$ENDIF}
Lang := SysUtils.GetEnvironmentVariable('LC_ALL');
if Length(lang) = 0 then
begin
@ -54,6 +55,7 @@ begin
FNeedRTLAnsi:=(SysUtils.CompareText(Encoding,'UTF-8')=0)
or (SysUtils.CompareText(Encoding,'UTF8')=0);
end;
{$ENDIF}
FNeedRTLAnsiValid:=true;
Result:=FNeedRTLAnsi;
end;
@ -67,17 +69,17 @@ end;
function UTF8ToSys(const s: string): string;
begin
if NeedRTLAnsi then
Result:=s
Result:=UTF8ToAnsi(s)
else
Result:=UTF8ToAnsi(s);
Result:=s;
end;
function SysToUTF8(const s: string): string;
begin
if NeedRTLAnsi then
Result:=s
Result:=AnsiToUTF8(s)
else
Result:=AnsiToUTF8(s);
Result:=s;
end;
function FileExistsUTF8(const Filename: string): boolean;