今天有个小朋友问我一个关于html页面显示乱码的问题,特总结并分享。
他的代码是这样的
<HTML>
<TITLE>
例 7-1 jspSmartUpload 基本文件上传
</TITLE>
<BODY BGCOLOR="white">
<HR>
<FORM METHOD="POST" ACTION="/xiazai/jdupload.jsp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<BR>
<INPUT TYPE="SUBMIT" VALUE="上传">
</FORM>
</BODY>
</HTML>
显示效果如图
解决办法,在html页面中增加一个meta,如下:
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<TITLE>
例 7-1 jspSmartUpload 基本文件上传
</TITLE>
<BODY BGCOLOR="white">
<HR>
<FORM METHOD="POST" ACTION="/xiazai/jdupload.jsp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<BR>
<INPUT TYPE="SUBMIT" VALUE="上传">
</FORM>
</BODY>
</HTML>
效果如图所示
这里主要讲下大家容易忽略的html的meta标签。
定义和用法
<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
<meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。
提示和注释:
注释:<meta> 标签永远位于 head 元素内部。
注释:元数据总是以名称/值的形式被成对传递的。
meta标签主要有3个元素:name+content+http-equiv
name 属性
name 属性提供了名称/值对中的名称。HTML 和 XHTML 标签都没有指定任何预先定义的 <meta> 名称。通常情况下,您可以自由使用对自己和源文档的读者来说富有意义的名称。
"keywords" 是一个经常被用到的名称。它为文档定义了一组关键字。某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类。
类似这样的 meta 标签可能对于进入搜索引擎的索引有帮助:
<meta name="keywords"
content="HTML,ASP,PHP,SQL">
如果没有提供 name 属性,那么名称/值对中的名称会采用 http-equiv 属性的值。
http-equiv 属性
http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。
当服务器向浏览器发送文档时,会先发送许多名称/值对。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。
使用带有 http-equiv 属性的 <meta> 标签时,服务器将把名称/值对添加到发送给浏览器的内容头部。例如,添加:
<metahttp-equiv="charset"
content="iso-8859-1"> <metahttp-equiv="expires"
content="31 Dec 2008">
这样发送到浏览器的头部就应该包含:
content-type: text/html charset:iso-8859-1 expires:31 Dec 2008
当然,只有浏览器可以接受这些附加的头部字段,并能以适当的方式使用它们时,这些字段才有意义。
name属性主要用来作为你自定义的内容;而http-equiv则是表示服务器将把名称/值对添加到发送给浏览器的内容头部。
下面有几个例子,是W3School中的,大家可以深入参考一下。
http://www.w3school.com.cn/tiy/t.asp?f=html_meta
http://www.w3school.com.cn/tiy/t.asp?f=html_keywords
http://www.w3school.com.cn/tiy/t.asp?f=html_redirect