Hoje, quando eu estava corrigindo o programa UTF-8 na barra de pesquisa, descobri que o documento de formato Gerado UTF-8 tinha código ilegal e o arquivo original era
O código de create_html.asp é o seguinte:
A cópia do código é a seguinte:
<%@Idioma = "vBScript" codePage = "65001"%>
<%
setobjrs = server.createObject ("scripting.filesystemoBject")
Conn = server.mappath ("Exempli.xml")
setStream = objrs.opentExtFile (Conn, 1, true, -2)
Content = stream.readall
Response.Write (Conteúdo)
Stream.Close
%>
A função para implementar este código é: Leia o texto, incluindo chinês do exemplo.xml (formato UTF-8) e, em seguida, anda-o, mas toda vez que a saída é ilegal. Esse problema realmente me incomodou por um longo tempo. Mais tarde, foi resolvido com a ajuda dos fóruns clássicos "Xiao Han" e "Xiao Xiaoyu". Agradeça a eles.
Talvez eu estivesse errado no início, mas agora o código correto é modificado da seguinte maneira, usando o código fornecido por "Xiao Xiaoyu", incluindo o uso do conteúdo de leitura para gerar um novo documento de formato UTF-8. O código detalhado é o seguinte:
A cópia do código é a seguinte:
<%@Idioma = "vBScript" codePage = "65001"%>
<%Response.codePage = 65001%>
<%Response.Charset = "UTF-8"%>
<%
'Declare variáveis
dimread_path, write_paht, conteúdo
'---- Leia o conteúdo do arquivo ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Functionreadtextfile (filepath, charset)
dimstm
setstm = server.createObject ("adodb.stream")
STM.TYPE = 1'ADTYPEBINÁRIO, LEIA DE SOBRE DADOS BINÁRIOS
STM.MODE = 3'AdModeReadWrite, apenas 3 pode ser usado aqui para usar os outros e causará erros.
STM.OPEN
stm.loadfromfilefilepath
stm.Position = 0'Move o ponteiro de volta ao ponto de partida
STM.TYPE = 2'TEXT DATOS
stm.charset = charset
ReadTextFile = stm.readText
stm.close
setstm = nada
Função final
'--- Escreva no arquivo --------------------------------
SubwriteTextFile (FilePath, FileContent, Charset)
dimstm
setstm = server.createObject ("adodb.stream")
STM.TYPE = 2'ADTYPETEXT, dados de texto
STM.MODE = 3'AdModeReadWrite, Leia e escreva, se este parâmetro usar 2, causará um erro.