Recientemente, estoy trabajando en esto y no puedo encontrar cosas relacionadas con ASP en línea. Si alguien lo hace muy temprano, no bromes. Tomó mucho tiempo finalmente hacerlo;
Principio: Use el objeto de transmisión para leer los dos primeros bytes del archivo, analizar y determinar la codificación de UTF-8, Unicode y ANSI (sistema operativo chino simplificado, es decir, GB2312)
Información relacionada:
ANSI: definición sin formato;
UNICODE: Los dos primeros bytes son FFFE;
Unicodebigendian: los dos primeros bytes son FEFF;
UTF-8: Los dos primeros bytes son EFBB;
Copie el código de la siguiente manera: FunctionCheckCode (ruta)
setobjstream = server.createObject ("ADODB.Stream")
objstream.type = 1
objstream.mode = 3
objstream.
objstream.position = 0
objstream.loadFromFilepath
bintou = objstream.read (2)
Ifascb (MidB (Bintou, 1,1)) = & Hefandascb (Midb (Bintou, 2,1)) = & Hbbthen
checkCoder = "UTF-8"
Elseifascb (MidB (Bintou, 1,1)) = & Hffandascb (Midb (Bintou, 2,1)) = & Hfethen
checkcode = "unicode"
Demás
checkcode = "GB2312"
Endif
objstream.close
setobjstream = nada
Función final
Reponer:
Xie Xiaoyu recordó que el anterior era simplemente sin sentido; La codificación local de ANSI está definida por cada país, y no hay un formato de encabezado de archivo fijo. Bajo el sistema operativo chino continental, es legible GB2312, y bajo otros sistemas de idiomas, está confuso, por lo que no es necesario distinguir esta parte en detalle.
Obtenga la codificación del archivo, y la transmisión se puede abrir según la codificación requerida, y no habrá código confuso.