質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
char

charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

2回答

10129閲覧

SpringBootのリダイレクト時に文字化け

teramasa

総合スコア76

char

charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2016/03/07 04:06

###前提・実現したいこと
SpringBootでリダイレクト時に日本語のパラメーターを返したい

###発生している問題・エラーメッセージ
以下のソースで変数 company の中身が日本語の場合にクライアント側で???というふうに文字化けしてしまいます。
companyが英語の場合は文字化けしませんでした。producesでUTF-8を指定しているのになぜでしょうか?
###ソースコード

java

1@RequestMapping(value="/admin_registered", method=RequestMethod.POST, produces="text/plain;charset=UTF-8") 2 public String registerAdmin(@RequestParam("company") String company, @RequestParam("email") String email, @RequestParam("loginid") String loginid, @RequestParam("password") String password, @RequestParam("repassword") String repassword) { 3 logger.info("email is already used"); 4 return "redirect:/admin_register?company=" + company; 5}

どなたかお知恵をお貸しください。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Spring MVCで(リダイレクトする時の)URLを動的に組み立てたい場合は、Uri Template(ControllerだとRedirectAttribute#addAttribute)の仕組みを使うのがSpringスタイルです。

詳しくは、こちらをご覧ください。

投稿2016/05/15 03:22

kazuki43zoo

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teramasa

2016/05/16 11:29

kazuki43zooさん ありがとうございました!参考にさせていただきます。
guest

0

ベストアンサー

2バイト文字はURLエンコードする必要があります
以下のメソッドを使うとURLエンコードすることができます

java

1String encodedString = URLEncoder.encode("エンコードしたい文字列", "UTF-8");

ちなみに、SpringBoot でリダイレクト時にパラメータを渡したい場合は RedirectAttributes というのを使うと、
リダイレクト先のアクションでモデルにセットされた状態で受け取ることができますよ
(参考)
http://qiita.com/horimislime/items/387fa7805d1552149edb

投稿2016/03/16 01:28

Chanmoro

総合スコア97

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teramasa

2016/03/16 08:08

Chanmoroさん ご回答ありがとうざいます!なんと、リダイレクト時はエンコードをかまさないといけなかったんですね・・・。次のアップデートでぜひ使わせていただきます。感謝です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問