为什么<meta http-equiv="content-type" content="text/html; charset=UTF-8">对Jsp文件没有任何影响? [重复]

问题描述 投票:0回答:3

好吧,比如说,我有一个

.html
文件。如果文件有
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
那么如果文件包含其他语言那么它将正确显示

   <html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title></title>
  </head>

  <body>
    <h1>xxxx other language xxxx !</h1>

相反,如果

html
文件不包含
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
那么它将无法正确显示 Unicode。

好的,现在,我得到了一个

jsp
文件。即使我得到了
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
,它也不能正确显示 unicode。只有当我有
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

时它才会正确显示
<%@ page contentType="text/html;charset=UTF-8" language="java" %>     
<html>
          <head>
            <title></title>
          </head>

          <body>
            <h1>xxxx other language xxxx !</h1>

谁能解释一下为什么吗?

jsp
3个回答
1
投票

当你访问一个jsp页面时,Web服务器首先要把jsp翻译成Servlet。翻译程序应该从磁盘读取jsp,如果您不设置

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
,它将读取iso8859-1中的文件。因此,即使尚未发送到浏览器,UTF-8 字符在这一步也会是错误的。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
告诉翻译程序使用哪个字符集来读取jsp文件,并且当Web服务器将该jsp页面数据发送到浏览器时也将使用该字符集。因此,使用此语法告诉 Web 服务器使用哪个字符集来读取文件并将数据发送到浏览器。

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
是 html 语法,它告诉浏览器使用哪个字符集来解析从 Web 服务器接收的数据。所以使用这个语法来告诉浏览器如何解析数据。

然后,将这两行设置在一起,并确保两行字符集相同。

或者你可以只使用

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
,你会发现它也有效,因为它会设置 http 响应头 Content-Type:text/html;charset=utf-8 auto。


1
投票

使用

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
servlet 容器生成响应标头:

Content-Type:text/html;charset=UTF-8

没有它是默认的:

Content-Type:text/html;charset=ISO-8859-1

元信息不会覆盖标题。


0
投票
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><base href="../../" /><style type="text/css" nonce="LAc1xFef">html{touch-action:manipulation}body{background:#fff;color:#1c1e21;direction:rtl;line-height:1.34;margin:0;padding:0;unicode-bidi:embed}body,button,input,label,select,td,textarea{font-family:'Segoe UI Historic', 'Segoe UI', Helvetica, Arial, sans-serif;font-size:13px}h1,h2,h3,h4,h5,h6{color:#1c1e21;font-size:14px;font-weight:600;margin:0;padding:0}h1{font-size:15px}h4,h5,h6{font-size:13px}p{margin:1em 0}b,strong{font-weight:600}a{color:#385898;cursor:pointer;text-decoration:none}button{margin:0}a:hover{text-decoration:underline}img{border:0}td,td.label{text-align:right}dd{color:#000}dt{color:#606770}ul{list-style-type:none;margin:0;padding:0}abbr{border-bottom:none;text-decoration:none}hr{background:#dadde1;border-width:0;color:#dadde1;height:1px}form{margin:0;padding:0}label{color:#606770;cursor:default;font-weight:600;vertical-align:middle}label input{font-weight:normal}textarea,.inputtext,.inputpassword{border:1px solid #ccd0d5;border-radius:0;margin:0;padding:3px}textarea{max-width:100%}select{border:1px solid #ccd0d5;padding:2px}input,select,textarea{background-color:#fff;color:#1c1e21}.inputtext,.inputpassword{padding-bottom:4px}.inputtext:invalid,.inputpassword:invalid{box-shadow:none}.inputradio{margin:0 0 0 5px;padding:0;vertical-align:middle}.inputcheckbox{border:0;vertical-align:middle}.inputbutton,.inputsubmit{background-color:#4267b2;border-color:#DADDE1 #d9dfea #0e1f5b #0e1f5b;border-style:solid;border-width:1px;color:#fff;padding:2px 15px 3px 15px;text-align:center}.inputaux{background:#ebedf0;border-color:#EBEDF0 #e7e7e7 #666 #666;color:#000}.inputsearch{background:#FFFFFF url(https://static.xx.fbcdn.net/rsrc.php/v3/yP/r/pzVF2zi_I48.png) no-repeat right 4px;padding-right:17px}.clearfix:after{clear:both;content:'.';display:block;font-size:0;height:0;line-height:0;visibility:hidden}.clearfix{zoom:1}.datawrap{word-wrap:break-word}.word_break{display:inline-block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aero{opacity:.5}.column{float:right}.center{margin-right:auto;margin-left:auto}#facebook .hidden_elem{display:none!important}#facebook .invisible_elem{visibility:hidden}#facebook .accessible_elem{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}#facebook .accessible_elem_offset{margin:-1px}.direction_ltr{direction:ltr}.direction_rtl{direction:rtl}.text_align_ltr{text-align:left}.text_align_rtl{text-align:right}body{overflow-y:scroll}.mini_iframe{overflow-y:visible}.auto_resize_iframe{height:auto;overflow:hidden}.pipe{color:gray;padding:0 3px}#content{margin:0;outline:none;padding:0;width:auto}.profile #content,.home #content,.search #content{min-height:600px}.UIStandardFrame_Container{margin:0 auto;padding-top:20px;width:960px}.UIStandardFrame_Content{float:right;margin:0;padding:0;width:760px}.UIStandardFrame_SidebarAds{float:left;margin:0;padding:0;width:200px;word-wrap:break-word}.UIFullPage_Container{margin:0 auto;padding:20px 12px 0;width:940px}.empty_message{background:#f5f6f7;font-size:14px;line-height:17px;padding:20px 20px 50px;text-align:center}.see_all{text-align:left}.standard_status_element{visibility:hidden}.standard_status_element.async_saving{visibility:visible}img.tracking_pixel{height:1px;position:absolute;visibility:hidden;width:1px}#globalContainer{margin:0 auto;position:relative;zoom:1}.fbx #globalContainer{width:981px}.sidebarMode #globalContainer{padding-left:205px}.fbx #tab_canvas>div{padding-top:0}.fb_content{min-height:640px;padding-bottom:20px}.fbx .fb_content{padding-bottom:0}.skipto{display:none}.home .skipto{display:block}._li._li._li{overflow:initial}._aj3e,._aj3e video{display:block;height:4px;right:0;position:absolute;top:0;width:2px;z-index:-1}._aowd._li._li._li{overflow:hidden}._9053 ._li._li._li{overflow-x:hidden}._72b0{position:relative;z-index:0}.registration ._li._9bpz{background-color:#f0f2f5}._li ._9bp-{padding-top:5px;text-align:center}._li ._9bp- .fb_logo{height:100px}._li ._a66f{padding-top:5px;text-align:center}._li ._a66f .fb_logo{height:80px;padding-top:72px}._5vb_ #pageFooter{display:none}html body._5vb_ #globalContainer{width:976px}._5vb_.hasLeftCol #headerArea{margin:0;padding-top:0;width:786px}._5vb_,._5vb_ #contentCol{background-color:#e9ebee;color:#1d2129}html ._5vb_.hasLeftCol #contentCol{border-right:0;margin-right:172px;padding-right:11px;padding-top:11px}._5vb_.hasLeftCol #topNav{border-right:0;margin-right:172px;padding:11px 11px 0
© www.soinside.com 2019 - 2024. All rights reserved.