Recentemente, estou trabalhando nessa coisa e não consigo encontrar coisas relacionadas ao ASP online. Se alguém fizer isso muito cedo, não brinca. Demorou muito tempo para finalmente fazê -lo;
Princípio: use o objeto Stream para ler os dois primeiros bytes do arquivo, analisar e determinar a codificação de UTF-8, Unicode e ANSI (sistema operacional chinês simplificado, ou seja, GB2312)
Informações relacionadas:
ANSI: Definição não formatada;
Unicode: os dois primeiros bytes são FFFE;
UnicodeBigendian: os dois primeiros bytes são feff;
UTF-8: Os dois primeiros bytes são EFBB;
Copie o código da seguinte forma: FunctionCheckCode (caminho)
setobjstream = server.createObject ("adodb.stream")
objstream.type = 1
objstream.mode = 3
objstream.open
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"
Outro
checkcode = "GB2312"
Endif
objstream.close
setobjstream = nada
Função final
Reabastecer:
Xie Xiaoyu lembrou que o anterior era simplesmente bobagem; A codificação local da ANSI é definida por cada país e não há formato de cabeçalho de arquivo fixo. Sob o sistema operacional chinês do continente, é legível GB2312 e, sob outros sistemas de idiomas, é iluminado, portanto, não há necessidade de distinguir essa parte em detalhes.
Obtenha a codificação do arquivo e o fluxo do fluxo pode ser aberto conforme a codificação necessária, e não haverá código ilegal.