- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
โ11-30-2016 11:34 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
โ12-02-2016 10:36 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
โ12-02-2016 11:12 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
โ12-02-2016 11:59 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Aaron, thank you very much, it works great :) I have used ISO-8859-1 and URLEncoding. Best regards!
โ12-08-2016 09:32 AM

