2012-03-15 59 views
0

此网页无法显示中文字符,我可以找到显示这些字符的方法吗?无法在linux服务器上为html显示汉字

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> 


<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <META HTTP-EQUIV="Content-language" CONTENT="zh"> 
     <link rel="stylesheet" href="css/reset.css" type="text/css" media="screen" charset="GBK" /> 
     <script type="text/javascript" src="js/jquery-1.7.1.js"></script> 
     <script type="text/javascript" src="js/jquery.cookie.js"></script> 
     <script type="text/javascript" src="js/counter.js"></script> 
    </head> 
    <body> 
     <h1>Is your sign of zodiac in this picture ?星座</h1> 
     <img src="a.png"> 
     <div id="page1_yes" > 
      <input type="button" name="yesb" value="Yes"> 
     </div> 
     <div id="page1_no"> 
      <input type="button" name="nob" value="No"> 
     </div> 
    </body> 
</html> 

-----------结果是在这里: 是您的所属星座在这张照片DC×U

回答

2

Web服务器是最有可能输出Content-Type?设置为ISO-8859-1或其他内容的HTTP标头,取代您的<meta> Content-Type标签。配置你的网络服务器输出一个正确的编码的HTTP头和/或确保你的HTML实际上保存在UTF-8中。

+0

+1!要诊断这一点,请查看浏览器中的标题,或执行HEAD请求并查看HTTP Content-Type标头。 – tripleee 2012-03-15 06:18:00

1

在本地查看时,文档显示OK。当您将它保存在文件中并上传到服务器时,会发生奇怪的事情。这不是一个简单的错误编码问题,因为@deceze提出这个问题,因为当以UTF-8保存并且例如解释为ISO-8859-1时,中文字符显示为6个字符,因为每个中文字符字符在UTF-8中有三个字节的表示)。

由于您将字符看作ISO-8859-1范围中的四个字符,可能它们实际上是以UTF-16编码保存的,然后通过某种映射错误地进行代码转换,最后解释为结果字节为ISO-8859-1编码。描述保存和上传文件的过程,特别是提供上传文件的URL可能会有所帮助。

+0

某些字符可能会消失,因为它们碰巧映射到不可打印的字符,它不一定必须显示为6 *可见*字符。我同意它不是UTF-8与Latin-1,这只是一个标准的例子。没有更多的信息就很难说出它究竟在哪里搞砸了。 – deceze 2012-03-15 05:20:27

相关问题