今天有个小朋友问我一个关于html页面显示乱码的问题,特总结并分享。
他的代码是这样的
例 7-1 jspSmartUpload 基本文件上传
显示效果如图
解决办法,在html页面中增加一个meta,如下:
例 7-1 jspSmartUpload 基本文件上传
效果如图所示
这里主要讲下大家容易忽略的html的meta标签。
定义和用法
元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
标签位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。
提示和注释:
注释: 标签永远位于 head 元素内部。
注释:元数据总是以名称/值的形式被成对传递的。
meta标签主要有3个元素:name+content+http-equiv
name 属性提供了名称/值对中的名称。HTML 和 XHTML 标签都没有指定任何预先定义的 名称。通常情况下,您可以自由使用对自己和源文档的读者来说富有意义的名称。
"keywords" 是一个经常被用到的名称。它为文档定义了一组关键字。某些搜索引擎在遇到这些关键字时,会用这些关键字对文档进行分类。
类似这样的 meta 标签可能对于进入搜索引擎的索引有帮助:
name="keywords"
如果没有提供 name 属性,那么名称/值对中的名称会采用 http-equiv 属性的值。
http-equiv 属性为名称/值对提供了名称。并指示服务器在发送实际的文档之前先在要传送给浏览器的 MIME 文档头部包含名称/值对。
当服务器向浏览器发送文档时,会先发送许多名称/值对。虽然有些服务器会发送许多这种名称/值对,但是所有服务器都至少要发送一个:content-type:text/html。这将告诉浏览器准备接受一个 HTML 文档。
使用带有 http-equiv 属性的 标签时,服务器将把名称/值对添加到发送给浏览器的内容头部。例如,添加:
http-equiv="charset"http-equiv="expires"
这样发送到浏览器的头部就应该包含:
content-type: text/html
charset:iso-8859-1
expires:31 Dec 2008
当然,只有浏览器可以接受这些附加的头部字段,并能以适当的方式使用它们时,这些字段才有意义。
content 属性提供了名称/值对中的值。该值可以是任何有效的字符串。
content 属性始终要和 name 属性或 http-equiv 属性一起使用。 其中,content是必须有的,你可以选择name属性或者http-equiv属性。
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