3

Eclipse と Glassfish を使用して、jsp/サーブレットから無効な文字が表示されます。

「Pêche」と入力すると、「Pêches」が得られます。つまり、これはエンコードの問題です。私はいくつかの考えを試しましたが、何もうまくいきません。

私はまだモジバケを取得します。

ここに私のサーブレットコードがあります:

String name = (String) request.getParameter("templateName");

ここに私のjspコンテンツがあります:

<%@ page pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>....</title>
</head>
<body>
     <form action="<c:url value="/form/edit" />" method="post" enctype="multipart/form-data">

                <input type="text" id="templateName" name="templateName"  />
                <br />

                <input type="submit" value="Valider" class="button button_blue margin_button_form"/>
        </form>
</body>
</html>

他の提案はありますか?

4

4 に答える 4

3

最後に、Glassfish のバグのようです: https://java.net/jira/browse/GLASSFISH-18516

これでひどく解決しましたnew String (s.getBytes ("iso-8859-1"), "UTF-8");:( https://stackoverflow.com/a/549634/1458542 )

于 2013-05-15T10:57:01.023 に答える
0

これを追加してみてください:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

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

そしてあなたのサーブレットにこれを追加してください:

request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
于 2013-05-14T10:41:10.670 に答える