У меня есть сайт, который отображает несколько языков. Сайт работает под управлением классического ASP (VBScript) и в зависимости от настроек пользователя (языковых предпочтений) будет отображать HTML на желаемом языке. Языковой файл - это простой ASP-файл, использующий набор операторов if для приравнивания переменной к нужному языку.
Например:
if language = "Spanish" then
day_name = "lunes"
elseif language = "Chinese" then
day_name = "星期一"
else
day_name = "Monday"
end if
Тогда страница ASP будет содержать результат:
Today is <%=day_name%>
После многих часов исследований я добавил в заголовок страницы ASP следующее:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit%>
<%
Response.CodePage = 65001
Response.CharSet = "utf-8"
%>
<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
%>
Вышеуказанное работает отлично для английского и китайского языков, однако на испанском и других языках странные символы появляются как " "
Я также пытался сохранить языковой файл ASP в формате UTF-8, UTF-8-BOM и ANSI (используя Notepad ++). Сами символы также меняются в Notepad ++ в зависимости от того, какую опцию я выбираю, и не все имеют правильную кодировку. Не уверен, что решение состоит в том, чтобы создать несколько файлов, по одному для каждого языка, и каждый файл должен быть закодирован соответствующим образом (что технически возможно, но требует значительного объема работы и поддержки).
Кажется, я не могу найти правильный баланс, подходящий для всех языков, и мы будем благодарны за любые рекомендации.
Спасибо.