Pallantir Skrevet 9. desember 2015 Del Skrevet 9. desember 2015 Jeg har en nettside jeg har programmert selv med en god del hjelp av en kjenning i England, som kjører javascript med variabler hentet fra et annet program. Problemet er at de ser helt greie ut i det programmet, men når de kommer over i nettsiden, blir det feil. Koden som viser den kolonnen med variabler er sånn: var navn_REF = '<center><Div><Span id=\"navnID'+RowID+'\"></span></center>'; $('<td>'+navn_REF+'</td>').appendTo(tr); Jeg vet ikke om det går an å forstå noe ut fra det uten å ha resten av sammenhengen, men navnID og RowID kommer fra det andre programmet. Men der det skal stå ø, blir det � istedenfor. Går det an å bruke String replace eller noe lignende for å få dette til å fungere? Jeg tror jeg har vært gjennom absolutt alle mulige forsøk med å endre tegnsett (jeg bruker UTF-8, som støtter ø), både i programmet som sender koden og i nettsiden, og jeg finner bare ikke ut hvor problemet ligger. Men er det mulig å kjøre en konvertering av det symbolet til en ø i selve nettsiden? Lenke til kommentar
j-- Skrevet 9. desember 2015 Del Skrevet 9. desember 2015 Det der viser ikke hvordan du får data inn fra de programmene du snakker om. Vis oss det. Lenke til kommentar
Pallantir Skrevet 9. desember 2015 Forfatter Del Skrevet 9. desember 2015 Takk for svar! Jeg var redd for det... Det er en proprietær webserver som jeg ikke har lov til å vise noe fra. Jeg har null peiling på javascript, men det betyr vel i praksis at eventuelle endringer må gjøres på selve webserveren? Og det kan jeg altså ikke. Lenke til kommentar
Sokkalf™ Skrevet 9. desember 2015 Del Skrevet 9. desember 2015 "Det finnes bare to typer utviklere: de som har hatt tegnsettproblemer og de som kommer til å få det." Som j-- sier, det er ikke nok info her. Lenke til kommentar
Pallantir Skrevet 9. desember 2015 Forfatter Del Skrevet 9. desember 2015 He-he! Vel, da får jeg satse på plan B: Bytte ut tabellen med dynamiske variabler i den kolonnen med statiske verdier. Der funker iallfall ø. Lenke til kommentar
GeirGrusom Skrevet 10. desember 2015 Del Skrevet 10. desember 2015 Spørsmålstegnet sier at det du prøver å vise er en ugyldig UTF-8 sekvens, noe som er ganske naturlig for Æ, Ø og Å. Hvis det mest signifikante bitet er 1 så indikerer det at mer enn étt byte kreves for å dekode symbolet. Eksempelvis enkodes 'Ø' som {0xC3 0x98} (11000011 10011000) i UTF-8 men ANSI ISO-8859-1 enkoder Ø som {0xd9} (11011001) noe som fører til at den forventer et byte til, men det påfølgende bytet er ikke riktig enkodet. Dermed vises � for å indikere at symbolet ikke ble dekodet. Enten få kilden i UTF-8 eller finn ut av enkodingen som ble brukt og gjør en konvertering. Eventuelt bytt fra UTF-8 i visning til hva nå enn kilden presenterer. Lenke til kommentar
FraXinuS Skrevet 10. desember 2015 Del Skrevet 10. desember 2015 Har du prøvd å legge til <meta charset="utf-8" /> i head på nettsiden? Lenke til kommentar
Pallantir Skrevet 10. desember 2015 Forfatter Del Skrevet 10. desember 2015 (endret) FraXinuS, det har jeg. Det sto riktignok uten slash til slutt, men det endret ikke noe (jeg håpte vilt et øyeblikk der...). GeirGrusom, kan jeg finne ut av kodingen på noen enkel måte? Er det noe program jeg kan "sette i mellom" for å "avlytte" hva slags format dataene har når de går inn til nettsiden? Eller er det verdt å prøve med en dullion forskjellige charsets, og hvilke bør jeg da prøve? Jeg prøvde nettopp nå å endre UTF-8 i meta til ANSI ISO-8859-1 (og lagre html fila om igjen som ANSI, men det ga det samme resultatet. Programmet som sender ut dataene, er engelsk, men det takler uten problemer æø og å i variabler internt. Det er bare når det går ut til webserveren at det blir rot. Endret 10. desember 2015 av Pallantir Lenke til kommentar
FraXinuS Skrevet 10. desember 2015 Del Skrevet 10. desember 2015 (endret) Hvordan henter du verdiene fra programmet inn i javascriptet? Endret 10. desember 2015 av FraXinuS Lenke til kommentar
Mr D Skrevet 10. desember 2015 Del Skrevet 10. desember 2015 Nå er jeg inne på noe jeg egentlig ikke kan så mye om, men jeg hadde samme problem med en side som innholdt noen få linjer php. Da var løsningen å lagre siden som "UTF-8 uten BOM" i Notepad++. Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 FraXinuS, det kjører en webserver på det proprietære programmet, og den tar verdiene fra variabler som er i en tabell der. Fins det kanskje en form for plug-in eller noe sånt til en nettleser som kan vise hvilke bits som kommer og ikke lar seg lese? Mr D, jeg gjorde et forsøk på det og håpte vilt, men dessverre hjalp det ikke. Lenke til kommentar
FraXinuS Skrevet 11. desember 2015 Del Skrevet 11. desember 2015 Hvis du kan bruke følgende kode til å encode de rå bytsene i javascriptet for en verdi som inneholder øæå så kan jeg prøve å se om jeg kan finne ut noe om hva slags encoding det kan være. console.log(btoa(variabel_med_data_med_øæå)); Resultatet blir printet i konsollen, i Chrome åpner du konsollen med ctrl+shift+j. Bare paste resultatet fra dette inn her så kan jeg prøve å se om jeg kan finne ut noe. Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 Takk! Men det skjønte jeg ikke noe av... Dette resultatet fikk jeg: W29iamVjdCBPYmplY3Rd Jeg kan kjøre vanlige variabler, det er tabellene som skaper tull. Jeg plasserte forresten koden sånn, blir det riktig: console.log(btoa($('<td>'+myname_REF+'</td>').appendTo(tr))); Lenke til kommentar
j-- Skrevet 11. desember 2015 Del Skrevet 11. desember 2015 Nope, det er ikke riktig. Dette burde fungere bedre: console.log(btoa(myname_REF)); Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 OK, det var snålt! Jeg fikk disse linjene: dW5kZWZpbmVk (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDAiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDEiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDIiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDMiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDQiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDUiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDYiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDciPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDgiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDkiPjwvc3Bhbj48L2NlbnRlcj4= (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDEwIj48L3NwYW4+PC9jZW50ZXI+ (index):84 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDExIj48L3NwYW4+PC9jZW50ZXI+ Bortsett fra første linje ser de ganske like ut. Men i nettsiden er tabellen på 13 punkter, som alle består av ett ord. Men kanskje dere forstår det? De tingene jeg har problemer med, er det 4. linjen (Hjørnesoverom) og den 8., som er Kjøkken. Lenke til kommentar
FraXinuS Skrevet 11. desember 2015 Del Skrevet 11. desember 2015 Det ser ut til at det mangler noe data her. Linjene som blir printet i konsollen der inneholder: <center><Div><Span id="mynameID0"></span></center> <center><Div><Span id="mynameID1"></span></center> <center><Div><Span id="mynameID2"></span></center> osv. Men inholdet som f.eks "Kjøkken" mangler. Det er det some er viktig. Så hvis du har en variabel som inneholder tekst med øæå så er det den som må printes f.eks: var min_var = 'dette er et kjøkken'; // Strengen her blir sikkert hentet fra det eksterne programmet host deg. console.log(btoa(min_var)); Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 (endret) Kanskje det var fordi jeg hadde satt konsollkommandoen før den kommandoen som bygger opp variabelen ut fra to andre variabler? Er dette bedre? Den mangler den øverste, korte linjen, men består nå av riktig antall lange linjer. PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDAiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDEiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDIiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDMiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDQiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDUiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDYiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDciPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDgiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDkiPjwvc3Bhbj48L2NlbnRlcj4= test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDEwIj48L3NwYW4+PC9jZW50ZXI+ test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDExIj48L3NwYW4+PC9jZW50ZXI+ test.lhtml:42 PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDEyIj48L3NwYW4+PC9jZW50ZXI+ Nei, glem det. Det ser ut til at det står akkurat det samme der. Jeg må eksperimentere litt til. Endret 11. desember 2015 av Pallantir Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 Jeg prøvde også å legge inn koden din (i tilfelle den kunne brukes direkte), men fikk en feilmelding: Uncaught InvalidCharacterError: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range. Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 Jeg prøvde plassere det et annet sted i skriptet og fikk da bare én linje: PGNlbnRlcj48RGl2PjxTcGFuIGlkPSJteW5hbWVJRDEyIj48L3NwYW4+PC9jZW50ZXI+ Lenke til kommentar
Pallantir Skrevet 11. desember 2015 Forfatter Del Skrevet 11. desember 2015 Hva bruker dere forresten for å konvertere det rotet til klartekst? 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å