PERL/JAVASCRIPT: escape string zurückkonvertieren.
lois
- cgi
hallo,
ich rufe mit einem java-script ein pl script auf:
document.write('<a href="test.cgi?ref=');
document.write( escape(document.referer) );
document.write('">test</a>');
was das script jetzt bekommt ist z.b
http://www.google.at/search?q=b%C3%BCchse gro%C3%9Fvenediger OR %C3%B6 OR %C3%A4&btnG=Google-Suche&meta=
also %C3%BC für ü
also %C3%B6 für ö
also %C3%A4 für ä
wenn ich hier die standardmethode zum unescape mache
$une =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
was hier so einen schönen satz ergiebt:
büchse groÃvenediger OR ö OR ä
hat da jemand einen rat, warum das java 2escape-codes hat und wie man dann das mit perl macht?
thx + lg, lois.
Hi,
büchse groÃvenediger OR ö OR ä
also UTF-8
hat da jemand einen rat, warum das java 2escape-codes hat und wie man dann das mit perl macht?
Welches Java? Meinst Du das Javascript?
Welches encoding hat die Seite?
cu,
Andreas
Hi,
also UTF-8
ja.
Welches Java? Meinst Du das Javascript?
ja.
Welches encoding hat die Seite?
UTF-8
charset ist das iso-8859-1, also mit äüöß
habs mit
$unenc = CGI::unencode($ref) probiert, hat aber nicht funktioniert.
irgendsowas mit s/%[0-9A-Fa-f][0-9A-Fa-f]%[0-9A-Fa-f][0-9A-Fa-f]//eg;
aber es gibt ja auch unicode-zeichen, die nur ein byte haben oder sogar drei. :(
lg, lois
hallo,
also %C3%BC für ü
also %C3%B6 für ö
also %C3%A4 für ä
mein ploblem ist kurz gesagt, wie mach ich in perl aus einem utf-8 einen utf-32, weil den kann ich ja dann in der html verwenden z.B %C3%B6(utf-8) -> %0xXXXX(utf-16/32) -> m&#yyyy;rchenhaft
%C3%B6 -> ö ist mir zu wenig, es soll auch bei jemandem in griechenland etc. die richtige ausgabe haben.
lg, lois.