J'ai pris en charge une application dans l'entreprise pour laquelle je travaille. Tout d'un coup, le client veut pouvoir entrer une marque déposée dans un champ de nom. Le symbole, en utilisant ALT + 0174, est enregistré correctement, mais l'application ne l'encodage pas correctement. Essentiellement ce que je fais:Comment afficher un symbole de marque déposée (®) à l'aide de VB.NET?
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim ms As New MemoryStream
Dim xml_text_writer As New XmlTextWriter(ms, _
System.Text.Encoding.UTF8)
xml_text_writer.Formatting = Formatting.Indented
xml_text_writer.Indentation = 4
xml_text_writer.WriteStartDocument(True)
xml_text_writer.WriteStartElement("Employees")
MakeEmployee(xml_text_writer, txtFName.Text, txtLName.Text, 11111)
xml_text_writer.WriteEndElement()
xml_text_writer.WriteEndDocument()
xml_text_writer.Flush()
ms.Flush()
ms.Position = 0
Dim b(CInt(ms.Length) - 1) As Byte
ms.Read(b, 0, CInt(ms.Length))
ms.Close()
Dim strReturn As String = System.Text.ASCIIEncoding.ASCII.GetString(b)
If strReturn.StartsWith("???", StringComparison.CurrentCultureIgnoreCase) Then
strReturn = strReturn.Substring(3)
End If
txtName.Text = strReturn
End Sub
Private Sub MakeEmployee(ByVal xml_text_writer As _
XmlTextWriter, ByVal first_name As String, ByVal _
last_name As String, ByVal emp_id As Integer)
xml_text_writer.WriteStartElement("Employee")
xml_text_writer.WriteStartElement("FirstName")
xml_text_writer.WriteString(first_name)
xml_text_writer.WriteEndElement()
xml_text_writer.WriteStartElement("LastName")
xml_text_writer.WriteString(last_name)
xml_text_writer.WriteEndElement()
xml_text_writer.WriteStartElement("EmployeeId")
xml_text_writer.WriteString(emp_id.ToString)
xml_text_writer.WriteEndElement()
xml_text_writer.WriteEndElement()
End Sub
La sortie que je reçois de ce code est la suivante:
John Smith ??
Tout va bien, sauf le "??" après "Smith" devrait être "®". Quel est le meilleur moyen, le cas échéant, d'afficher correctement le symbole?
Wow ... c'est aussi simple que ça! Merci beaucoup ... ça a marché! – LDWisdom