Gå til innhold

problemer med ÆØÅ igjen :S


Anbefalte innlegg

Skrevet

Hei, jeg har et program i VB.Net CF som sender dataene slik:

 


   Private Function encodeBase64(ByVal strData As String) As String
       Dim bData() As Byte

       bData = Encoding.ASCII.GetBytes(strData.ToCharArray)
       'bData = Encoding.UTF8.GetBytes(strData.ToCharArray)
       'bData = Encoding.Default.GetBytes(strData.ToCharArray)
       strData = Convert.ToBase64String(bData)
       Return strData
   End Function

 

og PHP henter ut dataene slik:

$_POST['xml'] = mb_convert_encoding($_POST['xml'],"ASCII", "BASE64" ) ;

 

den aktuelle funksjonen bytter ut scandinaviske tegn med ?

 

mens UTF8 så fungerer æ eller ø(husker ikke helt, men ikke alle)

mens 'Default' får php-programme til og crashe:S

 

 

Har også prøvd alternative måter og dekode base64 på i PHP...

Videoannonse
Annonse
Skrevet

Hvorfor i alle dager konverterer du det til ASCII? Da vil jo alle byte-er som ikke har en verdi under 128 bli til ? ASCII-tegn er tross alt bare på 7bit og er de 128 første tegnene i en rekke tegnsett. Jeg tipper det skal stå UTF-8 der i stedet jeg.

Skrevet (endret)

da kjørte jeg UTF8 på begge sider, men fikk rare tegn som Ã¥ etc... noen som har noen gode grunner til dt?

 

 

[EDIT]

hmm, utf8_decode() løste alle mine problemer...

men hvorfor kommer ikke dataen fram skikkelig?

Endret av Richard87
Skrevet
hmm, utf8_decode() løste alle mine problemer...

men hvorfor kommer ikke dataen fram skikkelig?

Dataen kommer frem "skikkelig", den må bare tolkes med korrekt tegnsett.

Skrevet

burde ikke denne kodesnutten tolket dataen skikkelig?

 

$_POST['xml'] = mb_convert_encoding($_POST['xml'],"UTF-8", "BASE64" ) ;

 

(bare nyskjerrig, bortkastet at jeg må kjøre 2 kommandoer for og gjøre 1 ting...)

Gjest Slettet-rXRozPkg
Skrevet

Vel, siden utf8_decode gjør om fra UTF-8 til ISO-8859-1, og dette virket fint for deg, så prøver du, med viten eller ikke, å vise eller lagre dataene i ISO-8859-1.

 

Hvor, eller hvordan du bruker dataene i $_POST["xml"] har du ikke skrevet noe om, så du får hoste opp litt mer kode, så kan det hende vi finner en mer fornuftig måte å løse dette på.

 

Du kan også ta en kikk i min gamle tråd om tegnsett for tips osv.: https://www.diskusjon.no/index.php?showtopic=730921

Skrevet

Hei,

 

koden produserer ett pdf dokument og fyller automatisk ut div. skjema...

 

men koden som jeg bruker under testing er:

 

$_POST['xml'] = mb_convert_encoding($_POST['xml'],"UTF-8", "BASE64" ) ;
$_POST['xml'] = utf8_decode($_POST['xml']);

$myFile = "log.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fwrite($fh, "\nNew Sync...\nPost:");
fwrite($fh, print_R($_POST, TRUE));
fwrite($fh, "\nGet:");
fwrite($fh, print_R($_GET, TRUE));
fclose($fh);

 

(log delen og pdf delen led av de samme feilene...)

Skrevet

Mest sannsynlig har du lagret php filen med ISO som tegnsett, og da må det konverters fra utf8 til iso ved hjelp av utf8_Decode.

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...