1

我是 VB 代码的新手,并且在编码、解码的东西上苦苦挣扎。我需要在 VB.NET 中将文本文件从 ANSI 转换为 UTF-16LE 的帮助。这是我到目前为止所做的。后来我使用 BulkInsert 进行数据库操作并最终得到垃圾数据,例如

�000000000000000000000094409574896680&�</p>

这应该是

Ì095837491150000349192784421039109162%Î

仅供参考,数据库列是 NVARCHAR。

Dim sr As System.IO.StreamReader = New System.IO.StreamReader(filePath, System.Text.Encoding.Default)
Dim sw As System.IO.StreamWriter = New StreamWriter(pPath & pFilename & "_TEMP", True, System.Text.Encoding.Unicode)
    While Not sr.EndOfStream
                sw.writeLine(sr.readLine)
    End While
sr.Close()
sw.Close()

有人可以帮忙吗?谢谢。

4

1 回答 1

1

您可以使用ReadAllTextWriteAllText方法:

System.IO.File.WriteAllText(dest, File.ReadAllText(source, Encoding.Default), Encoding.Unicode)
于 2012-12-10T22:28:05.940 回答