La solution aux caractères tronqués lors de l'utilisation de fso.OpenTextFil pour lire des fichiers UTF-8 ou de l'utilisation de FSO.save pour générer des fichiers UTF-8. La méthode utilisée pour générer des pages statiques consiste à lire le code html de la page asp et à l'enregistrer en tant que fichier. fichier html.
Étant donné que la page dynamique est codée au format utf8, après avoir obtenu son code html, j'ai utilisé fso pour l'enregistrer avec succès, mais il n'est pas accessible car il y a un problème avec l'encodage html et vous pouvez. y accéder normalement. Cela ne fonctionnera pas, car l'ensemble du site est encodé au format utf8. Pour ouvrir cette page, vous devez sélectionner l'encodage avant d'y accéder, c'est trop gênant, et personne ne veut y accéder, donc l'encodage au format utf8. le problème doit être résolu.
Après quelques recherches, j'ai découvert que fso ne pouvait pas générer de fichiers au format utf8. Essayez donc une autre approche.
Après avoir cherché pendant un moment, j'ai trouvé une fonction qui peut générer des fichiers au lieu de fso. Elle utilise l'objet adodb.stream pour générer des fichiers utf8. La fonction est la suivante :
Copiez le code comme suit :
'------------------------------------------------
'Nom de la fonction : ReadTextFile
'Fonction : Utiliser l'objet AdoDb.Stream pour lire des fichiers texte au format UTF-8
'------------------------------------------------ - --
Fonction ReadFromTextFile (FileUrl, CharSet)
dim str
set stm=server.CreateObject("adodb.stream")
stm.Type=2 'Lire dans ce mode
stm.mode=3
stm.charset=CharSet
stm.ouvert
stm.loadfromfile server.MapPath (FileUrl)
str=stm.readtext
stm.Fermer
set stm=nothing Cet article vient de
ReadFromTextFile=str
Fonction de fin
'------------------------------------------------
'Nom de la fonction : WriteToTextFile
'Fonction : Utiliser l'objet AdoDb.Stream pour écrire des fichiers texte au format UTF-8
'------------------------------------------------ - --
Sub WriteToTextFile (FileUrl, byval Str, CharSet)
set stm=server.CreateObject("adodb.stream")
stm.Type=2 'Lire dans ce mode
stm.mode=3
stm.charset=CharSet
stm.ouvert
stm.WriteText chaîne
stm.SaveToFile serveur.MapPath(FileUrl),2
stm.flush
stm.Fermer
définir stm = rien
Fin du sous-marin IISBOY.COM,IISBOY.COM
Comment utiliser :
Copiez le code comme suit :
appelez WriteToTextFile (""../index.html","aaa","utf-8")
Fait.