Avatar billede landmark Nybegynder
09. december 2003 - 20:09 Der er 17 kommentarer og
1 løsning

utf8 encode

er der en der kan hjælpe med at indsætte "utf8_encode" i en eksist. PHP fil...?
Avatar billede swaxi Nybegynder
09. december 2003 - 21:31 #1
prøv at være en smule mere specifik.
Avatar billede Slettet bruger
09. december 2003 - 21:57 #2
$variabel=utf8_encode("Tekst i iso-8859-1");

Det er såmænd det hele, der skal til. Hvis det ikke er nok, må du beskrive opgaven mere præcist.
Avatar billede landmark Nybegynder
09. december 2003 - 23:32 #3
Her er PHPén... det virker ikke... hvad er galt...?


<?php
$Submit     = $_POST["Submit"];
$Name         = $_POST["Name"];
$Email         = $_POST["Email"];
$Website     = $_POST["Website"];
$Comments     = $_POST["Comments"];
$NumLow     = $_REQUEST["NumLow"];
$NumHigh     = $_REQUEST["NumHigh"];
$Name         = ereg_replace("[^A-Za-z0-9 ]", "", $Name);
$Email         = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Email);
$Comments    = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Comments);
$Website     = eregi_replace("http://", "", $Website);
$Website     = ereg_replace("[^A-Za-z0-9 \@\.\-\/\'\~\:]", "", $Website);
$Name         = stripslashes($Name);
$Email         = stripslashes($Email);
$Website     = stripslashes($Website);
$Comments     = stripslashes($Comments);
if ($Submit == "Yes") {
    $filename     = "GuestBook.txt";
    $fp         = fopen( $filename,"r");
    $OldData     = fread($fp, 80000);
    fclose( $fp );
    $Today         = (date ("l dS of F Y ( h:i:s A )",time()));
    $Input = "Name: <b>$Name</b><br>Email: <b><u><a href=\"mailto:$Email\">$Email</a></u></b><br>Website: <b><u><a href=\"http://$Website\" target=\"_blank\">$Website</a></u></b><br>Comments: <b>$Comments</b><br><i><font size=\"-1\">Date: $Today</font><br><br>.:::.";
    $New = "$Input$OldData";
    $fp = fopen( $filename,"w");
    if(!$fp) die("&GuestBook=cannot write $filename ......&");
    fwrite($fp, $New, 800000);
    fclose( $fp );
}

    $filename = "GuestBook.txt";
    $fp     = fopen( $filename,"r");
    $Data     = fread($fp, 800000);
    fclose( $fp );
    $DataArray = split (".:::.", $Data);
    $NumEntries = count($DataArray) - 1;

// her har jeg så skrevet det ind...
    $variabel=utf8_encode("Tekst i iso-8859-1");

    print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
    for ($n = $NumLow; $n < $NumHigh; $n++) {
    print $DataArray[$n];
        if (!$DataArray[$n]) {
            Print "<br><br><b>No More entries</b>";
        exit;
        }
    }
?>
Avatar billede swaxi Nybegynder
09. december 2003 - 23:46 #4
hvad er det helt præcist du vil opnå ?
Avatar billede landmark Nybegynder
10. december 2003 - 00:01 #5
prøv at skrive et indlæg her...
http://www.screencom.dk/forum

det virker ikke med æøåÆØÅ

hvad gør jeg...?
Avatar billede swaxi Nybegynder
10. december 2003 - 00:09 #6
for det første. det er en meget dårlig idé at bruge en tekstfil til at gemme den slags data. brug dog en database.
for det andet. det script er så fyldt med fejl, at jeg næsten ikke ved, hvor jeg skal starte.
for det tredie. det er ikke utf8 enkodning, der er svaret på dine problemer.
sagen er den, at du filtrerer alt andet end a-z A-Z og 0-9 fra med et regulært udtryk i linjen :
$Comments    = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $Comments);

så det er dén du skal lave om. eks. til :
$Comments    = ereg_replace("[^A-ZÆØÅa-zæøå0-9 \@\.\-\/\']", "", $Comments);
Avatar billede landmark Nybegynder
10. december 2003 - 00:20 #7
ja ok! - indrømmer da blankt at det er taget fra noget andet som blev lagt her på eksp.  :-) - da jeg ikke forstår mig ret meget på programmering, må man jo prøve sig lidt frem...

men det virkede jo det du sagde.. :-) tak for det! men i navnet kan jeg stadig ikke bruge æøåÆØÅ - hvad gør jeg ved det..?
Avatar billede swaxi Nybegynder
10. december 2003 - 00:21 #8
$Name        = ereg_replace("[^A-Za-z0-9 ]", "", $Name);
...
$Name        = ereg_replace("[^A-ZÆØÅa-zæøå0-9\- ]", "", $Name);
Avatar billede swaxi Nybegynder
10. december 2003 - 00:24 #9
men du ville nu nok være bedre tjent med at droppe de regex, og bare bruge htmlentities() istedet.
eg. :
    $Name        = ereg_replace("[^A-Za-z0-9 ]", "", $Name);
bliver til :
    $Name        = htmlentities($Name);
og :
    $Comments    = ereg_replace("[^A-ZÆØÅa-zæøå0-9 \@\.\-\/\']", "", $Comments);
bliver til :
    $Comments    = htmlentities($Comments);
Avatar billede landmark Nybegynder
10. december 2003 - 00:24 #10
altså du mener jeg skal skifte linien ud ik...?

- det har jeg lige prøvet - men det virker ikke...?
Avatar billede landmark Nybegynder
10. december 2003 - 00:25 #11
ok! - skal jeg bare skifte dem ud med det du har skrevet...
Avatar billede swaxi Nybegynder
10. december 2003 - 00:28 #12
jeps
htmlentities oversætter/enkoder specialkarakterer til html-karakterer. det har også den fordel, at folk kan bruge alskens underlige tegn, der måtte falde dem ind.
Avatar billede landmark Nybegynder
10. december 2003 - 00:37 #13
tak for hjælpen swaxi! - tror lige jeg tar en lur...

gonat!
Avatar billede Slettet bruger
10. december 2003 - 00:40 #14
Hvis du har så lidt forståelse for PHP, at du bare indsatte den linie, jeg gav på et tilfældigt sted, vil jeg anbefale dig at finde en webmaster, der ved bare lidt om hvad han laver.
Avatar billede landmark Nybegynder
10. december 2003 - 00:42 #15
jo jo! - jeg prøver skam så småt at forstå - man lærer jo lidt hver dag...

:-) godnat!
Avatar billede landmark Nybegynder
10. december 2003 - 00:52 #16
her kan alle filer desuden hentes af dem som skulle være interesseret i sådan en ting ... http://www.screencom.dk/forum/forum.zip

:-)
Avatar billede _michael_ Nybegynder
10. december 2003 - 01:14 #17
swaxi>
Lige i det her tilfælde, så er det nu nok med utf8_encode, da Landmark skal ha' hevet informationerne over i Flash og det eneste, der fejler her, er æøå, som Flash har en eller anden allergi over for, specielt hvis det er på Mac.

Her er det oprindelige spgs fra Landmark:
http://www.eksperten.dk/spm/437703
Avatar billede swaxi Nybegynder
10. december 2003 - 02:43 #18
michael >
mnjah ... det var nu hans regex, der filtrerede karaktererne fra. så ligegyldigt hvordan han end enkoder strengen, gør det ingen forskel. mit forslag til sidst gik så på rent faktisk at enkode data, fremfor bare at filtrere alt andet end "normale" tegn fra.
men det forudsætter selvf. at hans flashdims kan læse htmlkarakterer. hvad jeg egt. ikke ved en papand om. men jeg vil da tro det.
han behøver iøvrigt ikke at utf8-enkode de data, der ligger i tekstfilen, hvis de er html-entity-enkodet.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester