16/05/08 22:14:02.22 HqJeT4yF.net
15年ぶりぐらいでプログラミングを
Lazarus で復帰し、半年ほど前からさわってるけどこうやって変換してるよ。Ver1.6
ただしLConvertEncode Unitの半角カナの扱いにバグがありConverterEncode() で半角カナが消える。
全角とANSIなら問題ない。
LConvertEncodeのasiancodepagefunctions.inc のDBCSToUTF8() のソースコードを少し修正すればOk。
uses
LazUTF8Classes,LazUTF8,.....,LConvEncording;
中略
SL:=TStringList.Create;
try
LoadStringsFromFileUTF8(SL, filename);
for i := 0 to SL.Count - 1 do begin
if GuessEncoding(SL[i]) = 'cp932' then
Memo.Lines.Add(ConvertEncoding(SL[i], 'cp932', 'utf8')) // SJIS to UTF8コード変換
else
Memo.Lines.Add(SL[i]);
end;
finally
FreeAndNil(SL);
end;