MENU

【Java】全角入力すると???と表示される

f:id:kiserukun:20210611090227p:plain

全角入力すると表示が???と表示される

 
以下のように登録画面を作成していました f:id:kiserukun:20210722212542p:plain



登録しようと送信ボタンを押すと登録先のJSPファイルは

f:id:kiserukun:20210722213828p:plain


このような表示になり
データベースもわからない文字列になって保存されていました。

f:id:kiserukun:20210722214128p:plain





原因は文字コードの指定にあると判断し、 JSPファイルを調べました  






結果を表示するjspファイル

<%@ page language="java" contentType="text/html; charset=SJIS"
    pageEncoding="SJIS"%>
    <%@ page import="model.User" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="SJIS">
<title>Insert title here</title>
</head>
・
・
・

 
入力させるjspファイル

<%@ page language="java" contentType="text/html; charset=SJIS"
    pageEncoding="SJIS"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="SJIS">
<title>ユーザー登録</title>
</head>
<body>
・
・
・

結局、jspファイルには問題はありませんでした




解決方法

サーブレットクラスに以下のように記述します

  request.setCharacterEncoding("SJIS");



再度登録し直すと  
 
 
f:id:kiserukun:20210722215849p:plain  
 
データベースに全角表示が正しく表示されるようになりました。