Jos käytät vanhempaa Delphiä ( esim. Delphi 5, Delphi 4, Delphi 3, Delphi 2, ehkä myös Delphi 6 ) ja tarvitset muunnosta UNICODE UTF-8 ja ANSI String ja TStrings tai TStringlist -tyyppien välillä, katsopa tänne:
http://tinyurl.com/UTF8-Delphi
tai
http://preview.tinyurl.com/UTF8-Delphi
JOS tinyurl -linkki vanhenee käytön puutteen takia, koko URL on:
http://www.koders.com/delphi/fid77D937B228CC8CFB3D81DCAD3BB58DA174055686.aspx
UTF-8 hallintaan !
ps.
kannattaa määritellä ko. Unitin alkuun:
type
UTF8String = type AnsiString;
Vihje: UTF-8 ja vanhat Delphi -versiot
2
329
Vastaukset
- Delphiguru
vielä kannattaa muokata unitin alkuosa tällaiseksi:
unit UTF8;
{-----------------------------------------------------------------------------
Unit Name: UTF8
extracted from LibXmlParser
Author: Stefan Heymann ([email protected])
Purpose: UTF8 conversion routines (those included in Kylix don't work)
Version: v. 1.0
Licence: "Destructor.de Source code Licence" (DSL)
The official site to get this parser is http://www.destructor.de/
Usage and Distribution of this Source Code is ruled by the
"Destructor.de Source code Licence" (DSL) which comes with this file or
can be downloaded at http://www.destructor.de/
IN SHORT: Usage and distribution of this source code is free.
You use it completely on your own risk
-----------------------------------------------------------------------------}
interface
uses
Classes;
type
UTF8String = type AnsiString;
function Utf8ToAnsi(Source: UTF8String; UnknownChar: char = ' '): AnsiString;
function AnsiToUtf8(Source: AnsiString): UTF8String;
procedure ConvertStringList_UTF8ToAnsi(SL:TStrings);
procedure ConvertStringList_AnsiToUTF8(SL:TStrings);
implementation
procedure ConvertStringList_UTF8ToAnsi(SL:TStrings);
var
i : Integer;
begin
for i := 0 to SL.Count-1 do begin
SL[i] := UTF8ToAnsi(SL[i]);
end;
end;
procedure ConvertStringList_AnsiToUTF8(SL:TStrings);
var
i : Integer;
begin
for i := 0 to SL.Count-1 do begin
SL[i] := AnsiToUTF8(SL[i]);
end;
end;
const
// --- Character Translation Table for Unicode Win-1252
//----- muokkausten loppu ------ Delphiguru
.. sekä muuttaa myös myöhemmin koodissa vastaavat 2 funktiomäärittelyä:
function AnsiToUtf8(Source: AnsiString): UTF8String;
(* Converts the given Windows ANSI (Win1252) String to UTF-8. *)
SEKÄ MYÖS:
function Utf8ToAnsi(Source: UTF8String; UnknownChar: char = ' '): AnsiString;
(* Converts the given UTF-8 String to Windows ANSI (Win-1252).
If a character can not be converted, the "UnknownChar" is inserted. *)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kiky-maksuista valehtelu persujen törkein vaalipetos
Perusduunarina koen pahimmaksi persujen vaalipetokseksi "työmies" Putkosen lupaaman työntekijöiltä perittävien kiky-maks595593Haluat nainen torjua minut
Yhä uudelleen ja uudelleen. Huomaan sen. Ymmärrän miksi, mutta silti se sattuu. Eihän minulla ole muuta kuin haaveet si804360Miksei asevelvollisuuden kuluja lasketa Nato-menoihin?
Koskela (vas) kysyy aiheellisesti, että kun kerran palkka-armejaan perustuvat maat laskevat kysesestä toiminnasta aiheut783676Onko Sdp:n romahdus pienpuolueeksi alkanut?
Mikään puolue ei kykene selviytymään loputtomasti, jos sitä repii jatkuvasti sisäiset ristiriidat ja kyvyttömyys päättää623363Persuja tuntuu kiinnostavan vain muiden rahat
En muista kenenkään muun olleen huolissaan yhtä paljon muiden rahoista kuin persujen. Mistähän se kertoo?1023352Persujen kannatusromahdus ilahduttaa
Siin' ei hyvä häviä. Luotto parempaan tulevasuuteen alkaa taas palautua.103090- 1112858
En malta odottaa, että Lindtman pääsee suhmuroimaan pääministerinä
kun pitää sopeuttaa 10 miljardin edestä, ja eläkkeisiinkin voidaan puuttua Antin mielestä. (Demarien kannattajissa suuri642307Antti Lindtman heikko johtaja - ei valtiomiesainesta lainkaan
kyllä se eilen taas nähtiin. Ei pystynyt Antti vastaamaan edes toimittajan yhteen yksinkertaiseen kysymykseen - juu tai1312280Farmi Suomi: Kirsi Salo syyttää koulukiusaajiksi - Jucci Hellström lataa napakasti
Mitäs mieltä olet Kirsi Salon koulukiusaamiskommentista? Farmi Suomi -kisassa väki vähenee ja kisa kovenee. Peliliikkeit341831