したがって、ASP.Net(vb.net)アプリケーションがあります。それにはテキストボックスがあり、ユーザーはMicrosoft Wordのテキストをテキストボックスに貼り付けています。したがって、長いダッシュ(charcode 150)のようなものが入力として入力されます。他の例として、スマートな引用符やアクセント付きの文字があります。私のアプリケーションでは、私はそれらをxmlでエンコードし、SQLストアドプロシージャのxmlパラメータとしてデータベースに渡しています。ユーザーが入力したときと同じようにデータベースに挿入されます。文字サポートの問題 - 上位ASCII文字を下位ASCII文字に翻訳する方法
問題は、このデータを読み取るアプリケーションはこれらの文字が気に入らないことです。だから私はそれらを低いascii(私は思う)文字セットに変換する必要があります。それ、どうやったら出来るの?どのようにエンコードされているかをどのように判断するのですか?次のようなことができます。そして、ASCII相当のものをインテリジェントに翻訳することを要求するか、またはそのためのコードを書く必要がありますか?
また、Webページでこの問題を解決する方が簡単かもしれません。 Wordから文字の選択をコピーすると、いくつかの形式がクリップボードに表示されます。真っ直ぐなテキストが私が望むものです。ユーザーが貼り付けたときにHTMLテキストボックスにそのテキストが表示されるようにする方法はありますか?何とかWebページのエンコーディングを設定する必要がありますか?
System.Text.Encoding.ASCII.GetString(System.Text.Encoding.GetEncoding(1251).GetBytes(text))
コードXMLに入力を符号化するアプリから:
Protected Function RequestStringItem(_
ByVal strName As System.String) As System.String
Dim strValue As System.String
strValue = Me.Request.Item(strName)
If Not (strValue Is Nothing) Then
RequestStringItem = strValue.Trim()
Else
RequestStringItem = ""
End If
End Function
' I get the input from the textboxes into an array like this
m_arrInsertDesc(intIndex) = RequestStringItem("txtInsertDesc" & strValue)
m_arrInsertFolder(intIndex) = RequestInt32Item("cboInsertFolder" & strValue)
' create xml file for inserts
strmInsertList = New System.IO.MemoryStream()
wrtInsertList = New System.Xml.XmlTextWriter(strmInsertList, System.Text.Encoding.Unicode)
' start document and add root element
wrtInsertList.WriteStartDocument()
wrtInsertList.WriteStartElement("Root")
' cycle through inserts
For intIndex = 0 To m_intInsertCount - 1
' if there is an insert description
If m_arrInsertDesc(intIndex).Length > 0 Then
' if the insert description is of the appropriate length
If m_arrInsertDesc(intIndex).Length <= 96 Then
' add element to xml
wrtInsertList.WriteStartElement("Insert")
wrtInsertList.WriteAttributeString("insertdesc", m_arrInsertDesc(intIndex))
wrtInsertList.WriteAttributeString("insertfolder", m_arrInsertFolder(intIndex).ToString())
wrtInsertList.WriteEndElement()
' if insert description is too long
Else
m_strError = "ERROR: INSERT DESCRIPTION TOO LONG"
Exit Function
End If
End If
Next
' close root element and document
wrtInsertList.WriteEndElement()
wrtInsertList.WriteEndDocument()
wrtInsertList.Close()
' when I add the xml as a parameter to the stored procedure I do this
cmdAddRequest.Parameters.Add("@insert_list", OdbcType.NText).Value = System.Text.Encoding.Unicode.GetString(strmInsertList.ToArray())
これは私が入力したものです。 これは、「面白い」文字のあるテキストです。これは、出力として欲しいものです。 これは出力として欲しいものです。 これは、「面白い」文字のあるテキストです。「Ãíúññºº¿¿¿¿½º¿½º¿½º¿½º¿½ÃƒÆ'â• –