cancel
Showing results for 
Search instead for 
Did you mean: 

Umlaut in the Billing Address

I am using Authorise.Net for billing verification in my DotNetNuke site. I have an user from Norway who wants to pay, but he has umlauts (special characters from Norway alphabet like Ø in his billing address). During payment process, he received error code 3/2/33 ERROR Bill To Address is required. When I tested with normal aplphabet characters, I didn't receive this error.  How should I resolve this problem? How should I code this umlaut?

 

Thank you in advance for any help.

alenan2013
Member
4 REPLIES 4

Hi @alenan2013

 

What kind of encoding do you have going on in your application? Is your development environment set to any particular kind of encoding like UTF-8?

 

Have you tried any encoding of the special characters yourself? For example, what happens if you URLencode that character string before you send it?

Aaron
All Star

Aaron, thank you for your interest and help. Yes, we have used UTF-8. Please suggest what to do. The code is:

 

Public Sub connectToServer()
            Dim objRequest As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)

            parseParamList()
            _result = String.Empty

            objRequest.Method = "POST"
            objRequest.ContentLength = _stList.Length
            objRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"

            Dim myWriter As System.IO.StreamWriter = Nothing
            Try
                myWriter = New System.IO.StreamWriter(objRequest.GetRequestStream())
                myWriter.Write(_stList)

                'Dim serverPath As String = "c:\inetpub\wwwroot\Portals\0\IGD\Archive\Cards\"
                'Dim fileStamp As String = Date.Now.ToString("yyyyMMddhhmmss")
                'Dim fileName As String = String.Format("{0}{1}_cardCall.txt", serverPath, fileStamp)

                'System.IO.File.WriteAllText(fileName, _stList)


                passed = True
            Catch e As Exception
                passed = False
                _errorMessage = e.Message
                Exit Sub
            Finally
                passed = True
                myWriter.Close()
            End Try


            Try
                Dim objResponse As System.Net.HttpWebResponse = CType(objRequest.GetResponse(), System.Net.HttpWebResponse)
                Dim sr As New System.IO.StreamReader(objResponse.GetResponseStream())
                _result = sr.ReadToEnd()

                sr.Close()

                Dim resArray As String()

                resArray = _result.Split("|")

                responseCode = resArray(0).Trim()
                responseReasonCode = resArray(2).Trim()
                successMessage = resArray(3)


                If (responseCode = "1") Then
                    'passed
                    passed = True
                    transactionID = resArray(6).Trim()

                Else

                    errorMessage = "CODE: " & resArray(0) & "/" & resArray(1) & "/" & resArray(2) & "<br />" & "ERROR: " & resArray(3)

                    successMessage = String.Empty
                    transactionID = String.Empty
                    passed = False
                End If
            Catch ex As Exception
                errorMessage = "Unable to connect the server " & ex.Message
                successMessage = String.Empty
                transactionID = String.Empty
                passed = False
            End Try





        End Sub
alenan2013
Member

Hi,

 

From that segment of code, it looks like that's just setting the request headers to indicate UTF-8 in the request sent to the server. However, I'm wondering what your code is doing encoding wise before the request even gets to the server.

 

I can verify that our system should be able to support at least ISO-8859-1 encoding, but that depends on getting the characters encoded correctly when they get sent to us.

 

You can try a couple of things here. You can change "UTF-8" to "ISO-8859-1" to signal to the server that things are ISO-8859-1 encoded and see if that makes a difference. You could also add an encoding pass on the input you receive to specifically encode it before sending it to us.

@Aaron, thank you very much, it works great :) I have used ISO-8859-1 and URLEncoding. Best regards!