Avatar billede dreyfusdk Nybegynder
11. november 2005 - 13:01 Der er 7 kommentarer

UTF-8 replace

Hej,

Jeg sidder og arbejder på en mobilløsning hvor jeg skal sende nogen variabler til en side på en server, som så parser videre til en mobiltelefon der sender.

Nu er vi jo blevet velsignet med at bo i et land som Danmark hvor vi bruger speciealtegn, så det skal vi jo lige være opmærksomme på da mobiltelefonen jeg benytter kun spiser godkendte UTF-8 tegn. Jeg har derfor måtte lave en replace...

public function prepareText(text)
' tegn som endnu ikke er fundet et fungerende UTF-8 tegn til, som så bare replaces:
    prepareText = replace(text,"!","")
    prepareText = replace(prepareText,"+","")
    prepareText = replace(prepareText,"?","")
    prepareText = replace(prepareText,"?","")
    prepareText = replace(prepareText,"(","")
    prepareText = replace(prepareText,")","")
    prepareText = replace(prepareText,"¤","")
' tegn som der er fundet en fungerende UTF-8 tegn til

    prepareText = replace(prepareText,"Æ","Æ")
    prepareText = replace(prepareText,"æ","æ")
    prepareText = replace(prepareText,"Ø","Ø")
    prepareText = replace(prepareText,"ø","ø")
    prepareText = replace(prepareText,"Å","Ã…")
    prepareText = replace(prepareText,"å","Ã¥")
    prepareText = replace(prepareText,"""","%22") ' nope
    prepareText = replace(prepareText,"#","%23")
    prepareText = replace(prepareText,"%","%25")
    prepareText = replace(prepareText," ","+")
    prepareText = replace(prepareText,"&","%26")
    prepareText = replace(prepareText,"/","%5C")
    prepareText = replace(prepareText,"\","%5C")
    prepareText = replace(prepareText,"<","%3C")
    prepareText = replace(prepareText,">","%3E")
    prepareText = replace(prepareText,",","%2C")
    prepareText = replace(prepareText,"'","%27")
    prepareText = replace(prepareText,"=","%3D")
    prepareText = replace(prepareText,"€","%E2%82%AC")
    prepareText = replace(prepareText,"*","%2A")
end function



Som det fremgår jeg UTF-8 koderne for følgende tegn:

!
+
?
(
)
¤

jeg har haft svært ved at finde lige præcis disse på nettet, via google osv. Er der nogen der ligger inde med UTF-8 koderne for disses?

Har sat højt point fordi det haster - det er formentelig simpelt nok...

- Magnus
Avatar billede nielle Nybegynder
11. november 2005 - 17:41 #1
Alle pånær ¤-tegnet er sig selv.

¤ encodes som ¤
Avatar billede dreyfusdk Nybegynder
14. november 2005 - 11:41 #2
Ahh...

Men hmm... nu er det sådan, at jeg kalder en path med nogen bestemte parametre for at sende beskeden. fx.

sms.asp?phone=12345678&msg=Hej+med+dig+hvor+går+det?&user=admin&password=blabla

Hvordan kan jeg krejle den når der skal indflettes spørgsmålstegn (som breaker variablen) og plusser (+) som fungerer som mellemrumsadskiller?

Helt konkret arbejder jeg med den gateway der hedder NowSMS og en hurtig introduktion til den pågældende løsning kan ses her:

http://www.nowsms.com/documentation/ProductDocumentation/sending_messages/url_parameters_for_sending_messages.htm
Avatar billede nielle Nybegynder
14. november 2005 - 19:30 #3
De skal ikke UTF-8 encodes, de skal URL-encodes i stedet:

! %21
+ %2B
? %3F
( %28
) %29
¤ %A4
Avatar billede nielle Nybegynder
21. november 2005 - 18:30 #4
Har du fået kigget på det?
Avatar billede dreyfusdk Nybegynder
23. november 2005 - 13:45 #5
Hey,

Jeg benyttet URL encodring til nogen tegn, dem du anvender, men jeg har stadig et kæmpe problem med at få udråbstegn (!)  og plusser (+) til at fungere. I SMS beskeden står der bare de tegn-koder (%21 og %3F for hhv. udråbstegn og plus).

Foruden medfører dette, at når der skrives fx. spørgsmåltegn (?) som fungerer fint, at det tæller for 3 tegn i beskeden... fx. hvis jeg sender en besked med 155 tegn og der er tre spørgsmåltegn, kommer den som 2 smser - uhensigtsmæssigt, men softwaren tolker det formentlig som 161 tegn.
Avatar billede nielle Nybegynder
23. november 2005 - 17:21 #6
Når data sendes til sms.asp sciptet skal de URL-encodes - for dette foregår via Internettet. Det første sms.asp scriptet skal gøre er at URL-decode dem; De skal formentlig ikke være URL-encodet i selve SMS'en, som jo ikke sendes via Internettet.
Avatar billede nielle Nybegynder
20. december 2005 - 19:08 #7
Hvad med noget respons?
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
Kurser inden for grundlæggende programmering

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