Richard87 Skrevet 27. april 2010 Del Skrevet 27. april 2010 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... Lenke til kommentar
Ernie Skrevet 27. april 2010 Del Skrevet 27. april 2010 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. Lenke til kommentar
Richard87 Skrevet 27. april 2010 Forfatter Del Skrevet 27. april 2010 (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 27. april 2010 av Richard87 Lenke til kommentar
Jonas Skrevet 27. april 2010 Del Skrevet 27. april 2010 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. Lenke til kommentar
Richard87 Skrevet 28. april 2010 Forfatter Del Skrevet 28. april 2010 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...) Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 28. april 2010 Del Skrevet 28. april 2010 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 Lenke til kommentar
Richard87 Skrevet 3. mai 2010 Forfatter Del Skrevet 3. mai 2010 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...) Lenke til kommentar
Sjark Skrevet 3. mai 2010 Del Skrevet 3. mai 2010 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. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå