так что есть сканер, который получил название и цену товара из нашей базы данных через вызов веб-службы. Я получаю сообщение «Ошибка чтения JObject из JsonReader» с элементами, имеющими символ TM в конце. Я полагаю, что это может быть потому, что я не позволяю моей программе интерпретировать символ как UTF-8?
Пример: Некоторое имя ™
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim upcCode = "840465117314"
' Console.WriteLine(upcCode)
Dim request As WebRequest = WebRequest.Create("http://webservices/scanner/index.php")
request.Method = "POST"
Dim postData = "upcCode=" & upcCode
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
Dim datastream As Stream = request.GetRequestStream()
datastream.Write(byteArray, 0, byteArray.Length)
datastream.Close()
'THE RESPONSE
Dim response As WebResponse = request.GetResponse()
datastream = response.GetResponseStream()
Dim reader As New StreamReader(datastream)
Dim responseFromServer As String = reader.ReadToEnd()
'Console.WriteLine(responseFromServer)
Dim jresult As JObject = JObject.Parse(responseFromServer)
Console.WriteLine(jresult)
Я пытался это с предметами, которые не имеют каких-либо странных символов, и он возвращается в нормальное русло. Какие-либо предложения?
EDIT: получается, что я забыл добавить mb_convert_encoding в мой скрипт php, который исправляет эту проблему, однако теперь я получаю (?), Где когда-то был TM. Я также помечаю php на случай, если это не только ошибка vb. net.