jsp中国語の文字化けの問題を解決するだけです

jsp中国語の文字化けの問題を解決するだけです

初心者のJSPは簡単な応答ページを作成します
具体的なコードは次のとおりです。

<form action="test.jsp">
    username : <input type="text" name="username" />
    <br />
    <input type="submit">
</form>
 Hello <%=request.getParameter("username")%>

test.jspファイルとして保存し、tomcatアクセスを開始すると、次の図が表示されます。

ここに写真の説明を挿入
ボックスに次のように入力します。vae次の図が表示されます。

ここに写真の説明を挿入
でも「username」はすごく違和感があるので「username」に変更することにしました

<form action="test.jsp">
    用户名 : <input type="text" name="username" />
    <br />
    <input type="submit">
</form>
 Hello <%=request.getParameter("username")%>

このとき、問題が発生しました。
ここに写真の説明を挿入
「ユーザー名」が表示されるはずの場所に、文字化けした文字の文字列が表示されました。

応答のいわゆる文字化けコードは、ページデータがサーバーから応答に入力されてからブラウザに送信されるため、表示ページの文字化けコードです。応答のデータを正常に解析できない場合、文字化けの問題が発生します。
なぜ英語で問題ないのですか?iso-8859-1、gb2312、utf-8、およびいずれかのエンコード形式では、英語のエンコード形式は同じであり、各文字は8桁を占め、中国語は面倒であり、次の中国語はgb2312の下で16桁を占めます。 、2バイト、およびutf-8では、中国語は24ビット、3バイトを使用します。ブラウザがエンコード方法を知らない場合、これらの文字を途中から切り取り、再度表示するとめちゃくちゃになります。したがって、文字化けの問題を解決するには、使用するエンコード方法をブラウザに通知する必要があります。

Windowsでは、ファイルのデフォルトのエンコード形式はgb2312です。
解決策は次のとおりです。
(1)エンコード情報をhttp応答に追加します(応答)

<%@ page contentType="text/html; charset=gb2312"%>

この段落は、応答タイプとエンコード形式を指定するためにjspページの最初の行に配置する必要があります。contentTypeはtext / htmlであり、これはhtmlコンテンツを意味し、charsetはエンコードがgb2312であることを意味します。このようにして、ブラウザは応答からエンコーディング形式を取得できます。

(2)エンコード形式をhtmlで指定します

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>title</title>
</head>

メタ部分は、現在のhtmlのエンコード形式を指定するために使用されます。この段落はheadタグに配置し、headタグの先頭に配置する必要があることに注意してください。先頭のIEでない場合、特にタイトルに中国語が含まれていると、問題が発生する可能性があります。下。

上記の2つの検査は、jspWebページの出力が中国語であることを確認するための
ものです変更されたコードは次のとおりです。

<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>title</title>
    </head>
    <body>
        <form action="test.jsp">
            用户名 : <input type="text" name="username" />
            <br />
            <input type="submit">
        </form>
    </body>
</html>

再実行:

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/ws15168689087/article/details/109412317