Tôi tìm thấy câu trả lời here:
Const adTypeBinary = 1
Const adTypeText = 2
' accept a string and convert it to Bytes array in the selected Charset
Function StringToBytes(Str,Charset)
Dim Stream : Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Type = adTypeText
Stream.Charset = Charset
Stream.Open
Stream.WriteText Str
Stream.Flush
Stream.Position = 0
' rewind stream and read Bytes
Stream.Type = adTypeBinary
StringToBytes= Stream.Read
Stream.Close
Set Stream = Nothing
End Function
' accept Bytes array and convert it to a string using the selected charset
Function BytesToString(Bytes, Charset)
Dim Stream : Set Stream = Server.CreateObject("ADODB.Stream")
Stream.Charset = Charset
Stream.Type = adTypeBinary
Stream.Open
Stream.Write Bytes
Stream.Flush
Stream.Position = 0
' rewind stream and read text
Stream.Type = adTypeText
BytesToString= Stream.ReadText
Stream.Close
Set Stream = Nothing
End Function
' This will alter charset of a string from 1-byte charset(as windows-1252)
' to another 1-byte charset(as windows-1251)
Function AlterCharset(Str, FromCharset, ToCharset)
Dim Bytes
Bytes = StringToBytes(Str, FromCharset)
AlterCharset = BytesToString(Bytes, ToCharset)
End Function
Vì vậy, tôi chỉ làm điều này:
AlterCharset(str, "ISO-8859-1", "UTF-8")
Và nó làm việc độc đáo.
Cách tìm kiếm trang web này đã được bạn và người khác trả lời gấp mười lần! Chỉ cần duyệt phần ** Liên quan ** ở phía bên tay phải của câu hỏi này chẳng hạn. – Lankymart
bản sao có thể có của [chuyển đổi utf-8 thành iso-8859-1 trong asp cổ điển] (http://stackoverflow.com/questions/17677180/convert-utf-8-to-iso-8859-1-in-classic- asp) – Lankymart
@Lankymart Tôi đã nhìn thấy câu hỏi đó, nhưng các giao dịch trả lời của nó với toàn bộ tệp tập lệnh. Tôi muốn chuyển đổi một chuỗi có nguồn gốc trong một cơ sở dữ liệu, vì vậy nó thậm chí không được nêu rõ trong tệp đó. Tôi chỉ cần chuyển đổi một chuỗi duy nhất và giữ nguyên phần còn lại của tệp (ISO-8859-1). Nhưng tôi mới đến ASP cổ điển, và tôi có thể không nắm bắt được câu trả lời một cách chính xác. Với điều này làm rõ, bạn có tin rằng nó là như vậy? Nếu tôi sai, tôi sẽ yêu cầu làm rõ ý kiến của câu trả lời đó. – Metalcoder