Gå til innhold

session_start() error med UTF-8


Anbefalte innlegg

Skrevet

Hei!

 

Vil lage en tråd rundt dette problemet. Jeg kjører session_start() i toppen av PHP filen. En fil som er lagret med enkoding UTF-8. Problemet som oppstår er at UTF-8 setter inn 2 usynlige bytes i begynnelsen av filen. Dette fører til at session_start() ikke vil fungere.

 

Jeg har forsøkt å forandre filen til ANSI enkoding og da forsvinner problemet. Men et nytt oppstår, æøå vises som rare tegn. Jeg vil selfølgelig ikke ha det slik. Det er sikkert mange her inne som har hatt problem med dette og som kanskje ikke var klar over det.

 

Grunnen til at jeg lager tråden er fordi jeg lurer på hvordan dere har gått forbi dette problemet? Og eventuelt hva er den beste løsningen. 

 

Kim...

Videoannonse
Annonse
Skrevet (endret)

www.e-texteditor.com er min favoritt.

 

vet ikke om noe bra gratisalternativ. men notepad2 eller notepad+ bør kanskje duge.

 

ellers kan du kjøre:

 

<?php

$filnavn = 'filnavn.php';


if ( is_file( $filnavn ) ) {
 $f = fopen( $filnavn, 'r' );

 fread( $f, 2 ); // leser to bytes (flytter file pointeren 2 bytes)

 ob_start(); // lagrer output i stedet for å skrive til klient
 fpassthru( $f ); // skriver ut resten av filen til output buffer
 file_put_contents( $filnavn, ob_get_contents() ); // lagrer lagret output i filnavn
 ob_end_clean(); // avslutter lagring av output

 echo 'success';

} else {
 echo 'failure: no such file: '.$filnavn;

}

?>

 

edit: rettet en feil. forbedringer.

Endret av grimjoey

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...