12. juni 2001 - 13:22Der er
5 kommentarer og 1 løsning
Encoding
Jeg skal afsende nogle emails v.hj.a sendmail, og der skal kunne indgå bl.a. danske tegn. Derfor skal alle danske tegn og andre specialtegn kodes så æ f.eks. bliver til =E6 osv...
Er der nogen der har/kan lave en funktion der modtager en streng som parameter, og så bliver alle \"8-bit tegn\" (De tegn der ikke er repræsenteret indenfor 7-bit tegnsættet) automatisk konverteret til den rigtige hex-kode.
######################################################## # Modtager en streng som eneste parameter, og returnerer # en ny streng, hvor alle tegn med en ascii værdi på over 127 # er blevet konverteret til en hex-værdi med et ligmed tegn foran. sub encodeString { my $encodedString; my $tmpChar; for (my $i=length($_[0]); $i >= 0; $i--) { $tmpChar = substr($_[0],$i,1); my $tmpCharDecimal = unpack \"c\", \"$tmpChar\"; if ($tmpCharDecimal < 0) { $encodedString = \"=\". unpack(\"H2\",$tmpChar) . $encodedString; } else { $encodedString = $tmpChar . $encodedString; } } return $encodedString; }
my $testString = \"Test af særtegn i email: æøå ÆØÅ öäé\";
my $encodedMailString = &encodeString($testString);
... send din email, hvor kroppen bliver sat til indholdet af $encodedMailString
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.