我有一个显示多种语言的网站。该站点是经典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 ++中的字符本身也会发生变化,具体取决于我选择的选项,从来都没有正确的编码。不确定解决方案是否要创建多个文件,每种语言一个,每个文件都相应编码(这在技术上是可行的,但需要做大量的工作和维护)。
我似乎无法找到适合所有语言的正确平衡,我们将不胜感激。
谢谢。