Решение проблемы искажения символов при использовании fso.OpenTextFil для чтения файлов UTF-8 или использовании FSO.save для создания файлов UTF-8. Метод, используемый для создания статических страниц, заключается в чтении html-кода страницы asp и сохранении его как файла. html-файл.
Поскольку динамическая страница закодирована в формате utf8, после того как я получил ее html-код, я использовал fso для ее сохранения. Сгенерированный html прошел успешно, но доступ к нему невозможен, поскольку возникла проблема с кодировкой html. Выберите gb2312, и вы сможете. получить к нему обычный доступ. Это не сработает, так как весь сайт закодирован в формате utf8. Чтобы открыть эту страницу, вам нужно выбрать кодировку перед доступом к ней. Это слишком хлопотно, и никто не хочет к ней обращаться, поэтому кодировка в формате utf8. проблема должна быть решена.
После некоторых поисков я обнаружил, что fso не может генерировать файлы в формате utf8. Поэтому попробуйте другой подход.
После некоторого поиска я нашел функцию, которая может генерировать файлы вместо fso. Она использует объект adodb.stream для создания файлов utf8. Функция выглядит следующим образом:
Скопируйте код кода следующим образом:
'------------------------------------------------
'Имя функции: ReadTextFile
'Функция: использовать объект AdoDb.Stream для чтения текстовых файлов в формате UTF-8.
'------------------------------------------------ - --
Функция ReadFromTextFile (FileUrl,CharSet)
Тусклая улица
set stm=server.CreateObject("adodb.stream")
stm.Type=2 'Чтение в этом режиме
stm.mode=3
stm.charset=Набор символов
stm.open
stm.loadfromfile server.MapPath(FileUrl)
стр=stm.readtext
stm.Закрыть
set stm=nothing Эта статья взята из
ReadFromTextFile=str
Конечная функция
'------------------------------------------------
'Имя функции: WriteToTextFile
'Функция: использовать объект AdoDb.Stream для записи текстовых файлов в формате UTF-8.
'------------------------------------------------ - --
Sub WriteToTextFile (FileUrl, byval Str, CharSet)
set stm=server.CreateObject("adodb.stream")
stm.Type=2 'Чтение в этом режиме
stm.mode=3
stm.charset=Набор символов
stm.open
stm.WriteText ул
stm.SaveToFile server.MapPath(FileUrl),2
stm.flush
stm.Закрыть
установить stm=ничего
Конец подписки IISBOY.COM,IISBOY.COM
Как использовать:
Скопируйте код кода следующим образом:
вызовите WriteToTextFile("../index.html","aaa","utf-8")
Сделанный.