Avatar billede axkris Nybegynder
02. oktober 2005 - 21:28 Der er 1 løsning

Sms og danske bogstaver - dur ikke sammen

Hej alle

Jeg har netop fået hul igennem til en sms-gateway, men har nogle problemer med at sende danske bogstaver og specialtegn. Når smsen kommer frem, er alle omtalte tegn nemlig erstattet af "???".

F.eks. bliver "Kære læser" til "K???re l???ser"

Jeg fandt dog denne: http://www.eksperten.dk/spm/62943

Desværre, når jeg erstarter dem med char-værdierne, bliver tekst-outputtet i stedet til (er skrevet ud med: respose.write):

Kre lser! Tak for din interesse i at blive tilmeldt Sms-nyhedsbrevet. Din PIN-kode til at gennemf re tilmeldingen er: xxxx. Har du ikke nsket at tilmelde dig ovenstende, er SMS´en sendt til dig ved en fejl - se venligst bort fra den. Du kan IKKE svare p denne SMS.

Denne stopper før at smsen afsendes og kommer med følgende fejl.

Microsoft VBScript runtime error '800a01a8'
Object required: '[object]'

Fejlen opstår i:
strMessageStatus = ResultElement.item(0).getAttribute("Code")

Koden er:
strSQL = "SELECT Username, Password FROM SMS_LIST INNER JOIN SMS_SITE ON SMS_LIST.SiteID = SMS_SITE.SiteID AND SMS_SITE.SiteID = " & strListID
set rs = dataConn.execute(strSQL)
       
if not rs.eof then                   
  strMessage = Replace(strMessage,"Ø", chr(11))
  strMessage = Replace(strMessage,"ø", chr(12))
  strMessage = Replace(strMessage,"Å", chr(14))
  strMessage = Replace(strMessage,"å", chr(15))
  strMessage = Replace(strMessage,"Æ", chr(28))
  strMessage = Replace(strMessage,"æ", chr(29))
           
  response.write strMessage
           
  Set objSrvHTTP = Server.CreateObject ("MSXML2.ServerXMLHTTP")
       
  objSrvHTTP.open "GET", "http://www.xxxxxxxxxx.dk/sms.asp?action=SendSMS&username=" & rs("USERNAME") & "&password=" & rs("PASSWORD") & "&phoneNumber=" & strMobileNumber & "&MessageText=" & strMessage & "", False
  objSrvHTTP.send

  ' Svar indsættes i variabel
  strResult = objSrvHTTP.responseText

  'Load svar ind i XMLDOM
  set oXML = Server.CreateObject("MSXML2.DOMDocument")
  oXML.loadXML strResult

  ' Henter alle character-elementer ud
  set ResultElement = oXML.documentElement.getElementsByTagName("Result")
  strMessageStatus = ResultElement.item(0).getAttribute("Code")
  'strMessageStatusText = ResultElement.item(0).text       

  set rs = nothing
else
  strMessageStatus = -1
end if

Hvis jeg frakobler de 6 replace-linier, så sender den, dog bliver alle danske bogstaver mv til "???".

Kan du hjælpe?
Avatar billede axkris Nybegynder
02. oktober 2005 - 22:11 #1
Fandt selv en løsning:

Server.URLEncode(strMessage)
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