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
232
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
Alle 15 oli
Arvasi että lapsi asialla hallin palossa. Surullista. Mutta jos osaa/kykenee käyttää tulentekovehkeitä niin pitää osata401380Mikä on kaivattusi ihanin ja ärsyttävin piirre?
Ja onko hän mies, nainen ja muun sukupuolinen? Mies. Huomaavaisuus. Kiireisyys. Joskus voi rentoutuakin.981335Riikka Purra: työttömät tulee velvoittaa töihin
Purra panisi työttömät tulevaisuudessa työskentelemään sosiaaliturvan saamiseksi, koska työllisyysaste ei muuten näytä l2891225- 1091095
- 191031
- 641015
- 711012
Näin Ellen Jokikunnaksen Ralph-poikaa suojellaan julkisuudelta - Katso tuoreet kuvat Italiasta!
Ellen Jokikunnas ja Jari Rask ovat Ralph-poikansa kanssa kakkoskodissa Italiassa. Mukana on myös Unelmia Italiassa -kuva161009Heh, persut = vassarit = 10,0 %
Minja tuli nyt jo Riikan rinnalle, sitten alkaa tekemään kaulaa. Molemmilta kympin arvoinen suoritus! https://www.hs.f176868Vihdoinkin lavatansseja tv:ssä - Juhannuksena tanssitaan, bändeinä Yölintu ja Komiat!
Jes, vihdoinkin lavatansseja taas televisiossa! Keskikesän juhlaa vietetään tänä juhannuksena Tuuloksen Kapakanmäellä ju17833