vb lee archivos de texto codificados en UTF-8
Dos pasos:
1. Cree un módulo y copie el siguiente código
Opción explícita
. p >
Función de declaración privada MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Const CP_UTF8 = 65001
'Leer archivo en variable
Función privada GetFile(Nombre de archivo como cadena) Como cadena
Atenuar i como entero、BB() como byte
Si Dir(FileName) = "" Entonces salga de la función
i = FreeFile
ReDim BB(FileLen(FileName) - 1)
Abrir nombre de archivo para binario como #i
Obtener #i, , BB
Cerrar #i
GetFile = BB
Fin Función
'Función: Convertir caracteres UTF8 a caracteres ANSI
Función pública UTF8_Decode(FileName As String) As String
Dim sUTF8 As String
Atenuar lngUtf8Size mientras
Atenuar strBuffer como cadena
Atenuar lngBufferSize mientras
Atenuar lngResult mientras
Atenuar bytUtf8() AsByte
Dim n As Long
sUTF8 = GetFile(FileName)
Si LenB(sUTF8) = 0, entonces salga de la función
Activado Error GoTo EndFunction
s=UTF8_Decode("c:\1.txt") 'Modifique el nombre del archivo de acuerdo con la situación real
En este momento, s está codificado y almacenado en formato ANSI No habrá problemas de código confuso
.