zapisuje zawartosc memo do pliku. W memo sa polskie znaki óżźćąę, w zapisanym pliku owe znaki sa widoczne normalnie. Gdy wgrywam plik na server www i odpalam przez przegladarke nie widze polskich znaków . Wie ktos moze dlaczego?
może dlatego że trza te polskie znaki przkonwertować do iso albo utf :|
jesli twoj plik bedzie wygladal tak:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
</HEAD>
<BODY>
...... i tutaj twoj tekst z memo
</BODY>
</HTML>
To przegladarka elegancko bedzie wczytywac polskie znaki
dRum napisał(a)
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
To przegladarka elegancko bedzie wczytywac polskie znaki
Mialem kiedys identyczny problem ale pamietam ze wlasnie ISO-8859-2 nie dzialalo u mnie i musialem UFT lub WINDOWS-1252 kodowac i dzialalo super, ale moze u Ciebie ISO-8859-2 zadzialac czemu nie ;)
dziwna sprawa probowalem kodowac jak mowicie nic to nie daje,
poza tym zapisana tresc z memo jest potem w php zalaczana <?include .. ?> wiec jest ustawione charset=iso-8859-2.
Powiedzcie mi czy jak napiszecie w notatniku tekst:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"> </head> <body>ąśżźęłó
</body> </html>i wgracie to na server to czy widzicie wszytkie znaki polskie?
Bo ja pisze w notatniku po wgraniu na server widze wszytko oprocz ą ś ź
EDIT:
Widze ze trzeba bedzie podejsc do sprawy inaczej i zamieniac polskie znaki na:
óśćłaśżź
To jest Windows... I to w z memo w pliku jest zakodowane Windows-1252 . Dlatego piszesz w tym htmlu zamiast ISO-8859-2 po prostu Windows-1252...
ąśżźęłó - a jak nie podziała windows-1252 to zadziała windows-1250 :)
zrobilem jak mowisz sa tam znaki
łżźąśćłóę
I co widzisz je normalnie ? Zmien sobie w przegladarce kodowanie na inne np. iso-8859-2
http://www.divemax.pl/pdm/d.htm
Moze po prostu lepiej zamieiac ą na ą napisalem cos takiego, moze ktos wymyslil cos krotszego i sprytniejszego?
procedure zamien();
var i:integer;
znak:char;
wynik:string;
begin
for i:=1 to length(form1.memo1.Text) do
begin
znak:=form1.memo1.Text[i];
if znak='ą' then
begin
znak:='&';
wynik:=wynik+znak;
znak:='#';
wynik:=wynik+znak;
znak:='2';
wynik:=wynik+znak;
znak:='6';
wynik:=wynik+znak;
znak:='1';
wynik:=wynik+znak;
znak:=';';
end;
wynik:=wynik+znak;
end;
form1.memo2.text:=wynik;
end;
EDIT:
Jestes boski rzeczywiscie windows-1250 podzialalo :d
Kodowania Windows-1250 nie powinno się uzywać.
A co do tej procedury zamiany - lepsze by było proste użycie StringReplace() ;)
no tak ;P [rotfl]
memo2.text:=StringReplace(memo1.Text,'ą','ź',[rfReplaceAll, rfIgnoreCase]);
wniosek z tego taki ze lepiej jednak zamieniac polskie znaki i niepierdic sie z kodowaniem.
A moze po prostu UTF-8? Wywolanie jednej gotowej funkcji i juz ... :)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Windows-1250">
Dziala w 100% moge to potwierdzic bo wczesniej nie pisalem z domu a teraz mam pewnosc ze to jest wlasnie to kodowanie ;) Windows-1250 i nie trzeba zamieniac zadne ąść...
mitring napisał(a)
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Windows-1250">
Dziala w 100% moge to potwierdzic bo wczesniej nie pisalem z domu a teraz mam pewnosc ze to jest wlasnie to kodowanie ;) Windows-1250 i nie trzeba zamieniac zadne ąść...
Nie jest tak różowo gdyż to działa tylko pod windowsami