Code: Select all
function ConvertToASCII(Value: string): string;
begin
HTMLDecode(Value);
Value := StringReplace(Value, 'а', 'a');
Value := StringReplace(Value, 'б', 'a');
Value := StringReplace(Value, 'в', 'a');
Value := StringReplace(Value, 'г', 'a');
Value := StringReplace(Value, 'д', 'ae');
Value := StringReplace(Value, 'е', 'a');
Value := StringReplace(Value, 'ж', 'a');
Value := StringReplace(Value, 'з', 'c');
Value := StringReplace(Value, 'и', 'e');
Value := StringReplace(Value, 'й', 'e');
Value := StringReplace(Value, 'к', 'e');
Value := StringReplace(Value, 'л', 'e');
Value := StringReplace(Value, 'м', 'i');
Value := StringReplace(Value, 'н', 'i');
Value := StringReplace(Value, 'о', 'i');
Value := StringReplace(Value, 'п', 'i');
Value := StringReplace(Value, 'р', 'dh');
Value := StringReplace(Value, 'с', 'n');
Value := StringReplace(Value, 'т', 'o');
Value := StringReplace(Value, 'у', 'o');
Value := StringReplace(Value, 'ф', 'o');
Value := StringReplace(Value, 'х', 'o');
Value := StringReplace(Value, 'ц', 'o');
Value := StringReplace(Value, 'ш', 'o');
Value := StringReplace(Value, 'щ', 'u');
Value := StringReplace(Value, 'ъ', 'u');
Value := StringReplace(Value, 'ы', 'u');
Value := StringReplace(Value, 'ь', 'u');
Value := StringReplace(Value, 'э', 'y');
Value := StringReplace(Value, 'ю', 'th');
Value := StringReplace(Value, 'я', 'y');
Value := StringReplace(Value, 'Я', 'ss');
Value := StringReplace(Value, 'Ў', '');
Value := StringReplace(Value, 'ў', 'cent');
Value := StringReplace(Value, 'Ј', 'pound');
Value := StringReplace(Value, 'Ґ', 'yen');
Value := StringReplace(Value, 'Ђ', 'euro');
Value := StringReplace(Value, '©', '(c)');
Value := StringReplace(Value, 'Є', 'a');
Value := StringReplace(Value, '«', '"');
Value := StringReplace(Value, '®', '(r)');
Value := StringReplace(Value, '°', 'deg.');
Value := StringReplace(Value, '±', '+/-');
Value := StringReplace(Value, 'І', '^2');
Value := StringReplace(Value, 'і', '^3');
Value := StringReplace(Value, 'ґ', '''');
Value := StringReplace(Value, 'µ', 'micro');
Value := StringReplace(Value, '·', '-');
Value := StringReplace(Value, 'є', 'o');
Value := StringReplace(Value, '»', '"');
Value := StringReplace(Value, 'ј', '1/4');
Value := StringReplace(Value, 'Ѕ', '1/2');
Value := StringReplace(Value, 'ѕ', '3/4');
Value := StringReplace(Value, 'ї', '');
Value := StringReplace(Value, 'А', 'A');
Value := StringReplace(Value, 'Б', 'A');
Value := StringReplace(Value, 'В', 'A');
Value := StringReplace(Value, 'Г', 'A');
Value := StringReplace(Value, 'Д', 'A');
Value := StringReplace(Value, 'Е', 'A');
Value := StringReplace(Value, 'Ж', 'AE');
Value := StringReplace(Value, 'З', 'C');
Value := StringReplace(Value, 'И', 'E');
Value := StringReplace(Value, 'Й', 'E');
Value := StringReplace(Value, 'К', 'E');
Value := StringReplace(Value, 'Л', 'E');
Value := StringReplace(Value, 'М', 'I');
Value := StringReplace(Value, 'Н', 'I');
Value := StringReplace(Value, 'О', 'I');
Value := StringReplace(Value, 'П', 'I');
Value := StringReplace(Value, 'Р', 'DH');
Value := StringReplace(Value, 'С', 'N');
Value := StringReplace(Value, 'Т', 'O');
Value := StringReplace(Value, 'У', 'O');
Value := StringReplace(Value, 'Ф', 'O');
Value := StringReplace(Value, 'Х', 'O');
Value := StringReplace(Value, 'Ц', 'O');
Value := StringReplace(Value, 'Ч', 'x');
Value := StringReplace(Value, 'Ш', 'O');
Value := StringReplace(Value, 'Щ', 'U');
Value := StringReplace(Value, 'Ъ', 'U');
Value := StringReplace(Value, 'Ы', 'U');
Value := StringReplace(Value, 'Ь', 'U');
Value := StringReplace(Value, 'Э', 'Y');
Value := StringReplace(Value, 'Ю', 'TH');
Value := StringReplace(Value, '№', '^1');
Value := StringReplace(Value, '§', '[section]');
Value := StringReplace(Value, '¶', '[paragraph]');
Value := StringReplace(Value, '¤', '[currency]');
Value := StringReplace(Value, '„', '"');
Value := StringReplace(Value, '…', '...');
Value := StringReplace(Value, '‰', '/1000');
Value := StringReplace(Value, 'Љ', 'S');
Value := StringReplace(Value, 'Њ', 'OE');
Value := StringReplace(Value, 'Ћ', 'Z');
Value := StringReplace(Value, '‘', '''');
Value := StringReplace(Value, '’', '''');
Value := StringReplace(Value, '“', '"');
Value := StringReplace(Value, '”', '"');
Value := StringReplace(Value, '•', '-');
Value := StringReplace(Value, '–', '-');
Value := StringReplace(Value, '—', '-');
Value := StringReplace(Value, '™', '(tm)');
Value := StringReplace(Value, 'љ', 's');
Value := StringReplace(Value, 'њ', 'oe');
Value := StringReplace(Value, 'ћ', 'z');
Value := StringReplace(Value, 'џ', 'Y');
Result := Value;
end;
1. Unicode characters downloaded from IMDB, changes to wrong ASCII characters.
2. Wrong ASCII characters changes to right ASCII.
That code in StringUtils1.pas looks different on different Windows locations, but works fine?
And another very little troble: when I get writer in the producer field it adds "..., (more)".