UTF-8格式下Pivot的一个问题。
一般使用UTF-8格式的网上应用程序,只要在输出的页面中指明页面编码是UTF-8的,浏览器就可以自动采用UTF-8格式的编码进行显示。我已经能够使Pivot成功输出UTF-8标记,并且在浏览器中指定为UTF-8编码的时候页面显示正常。但是如果浏览器使用GB2312编码浏览我的Pivot,既不会显示为乱码,也不会自动跳转到UTF-8编码,而是把页面显示为一个空白页。
本条目的正文部分给出此问题的解决办法。
首页的模板中有这样一行:<title>[[weblogtitle]] » [[title]]</title>,我的Pivot设定的标题正好是中文而且是UTF-8格式,这样,当浏览器用GB2312编码来解释这一行的时候,[[title]]也即我指定的标题会变成乱码,而且把“</title>”的左半个括号吃掉,于是<title>标签没有被关闭,后文关于页面编码设置的部分、页面正文部分均无法被正确解析。
我们的目的是:即使使用GB2312来解析<title>这一行,那么仅应该是标题本身的文字成为乱码,但是</title>标签不要收到影响。于是我在“</title>”前面加了一个空格,也即原来的行变成这样:“<title> [[weblogtitle]] » [[title]] </title>”。注意,“[[title]]”和“</title>”之间有一个英文空格。
如法炮制所有模板文件中的<title>行,重新生成Pivot中的所有页面,于是问题解决:大多数时候浏览器可以自动使用UTF-8格式显示我的Blog上的内容了,即使强制用GB2312显示,也能显示出乱码,而不是容易让人以为没有这一页面的空白。
太感谢了