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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

2回答

15130閲覧

URLが日本語、GETで取得した文字が文字化けする

spring

総合スコア48

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2015/09/14 11:42

掲題の件、本番サーバーでは問題なく取得出来ておりますがeclipseのローカル環境で文字化けをしてしまいます。
ローカルtomcatの設定が疑わしく、
server.xmlに「 useBodyEncodingForURI="true"」を入れましたが問題が解消されません。

すみません、早く解決したくご教授頂きたくよろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

サーバーのOSとEclipseを動かしているOSが異なっていませんか?

ローカル環境がWindowsだとすると、Tomcatの起動をUTF-8で行わないとダメだと思います。
Tomcat自体のデフォルトの文字コード設定は、どのファイルでできるでしょうか。 ... - Yahoo!知恵袋


(追記)

URIEncodingのほうでしょうか。

server.xmlConnectorの設定に書くようです。

URIEncoding="UTF-8"

[JSP] Tomcat6でGETリクエストが文字化けする | 雑記帳 - Just another WordPress site

投稿2015/09/14 12:00

編集2015/09/14 13:03
argius

総合スコア9394

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

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

spring

2015/09/14 12:30

ご回答ありがとう御座います。 本番がLinuxで、ローカルがWindowsです。共にTomcat7です。 ローカルの検証環境はeclipseの「Servers」を使用してTomcatを利用しています。 上記のやり方で「server.xml」に「useBodyEncodingForURI="true" 」を追加した所状況変わらず。 「Servers」のTomcatサーバーを右クリックしプロパティから「テキスト・ファイルのエンコード」をUTF-8にしましたが 状況変わらずでした。 参考に調べさせて頂きます。
argius

2015/09/14 12:41

その「テキスト・ファイルのエンコード」の設定は、設定ファイルなどのファイル自体のエンコードの指定のことなので、違います。 Tomcatを起動する際のjvmオプションに指定しなければなりません。 デバッグ構成の方の「Tomcatサーバ」の引数に指定すればできると思います。
spring

2015/09/14 12:49

ありがとうございます! そしてすみません、プログラム引数(A)というのとVM引数(G)というのがありますが どちらに-Dfile.encoding=utf-8を入れればよいでしょうか?
argius

2015/09/14 12:53

JVMのオプションなので、VM引数(G)の方です。
spring

2015/09/14 12:56

上記共に(プログラム引数(A),VM引数(G))変数から引数に入れた所状況が変わりませんでした(;_:)
spring

2015/09/14 13:00

プログラムの引数をstartだけに戻し、VM引数(G)に${build_files:-Dfile.encoding=utf-8}ができている事確認。 Tomcat再起動しましたが変わりませんでした。
argius

2015/09/14 13:03

回答欄に追記しました。
spring

2015/09/14 13:13

回答のすれ違い失礼しました。 プログラムの引数に追加してしまった${build_files:-Dfile.encoding=utf-8}を消し元に戻しました。VMのみ設定し確認した所、状況変わらぬようです。 もう少し調査してみます。
argius

2015/09/14 13:28

ごめんなさい、コメント見逃してました。 VM引数(G)に${build_files:-Dfile.encoding=utf-8} ↑ このbuild_files:とかカッコはいらなくて、 VM引数の最後に半角スペース空けてから -Dfile.encoding=utf-8を付ければ良いのでは? Eclipseのバージョンとかが違うのでしょうか。
spring

2015/09/14 13:52

遅くまでお付き合い頂きほんと有難うございます。家帰って見てみます! 素人事ですみません。リポジトリから落としてきたプロジェクトに付属しているweb.xmlやserver.xml。ローカルに落とした検証用Tomcatのweb.xmlやserver.xml。 上記は記載内容が全く違うのですが、リポジトリから落としたファイルに合わせたほうが良いのでしょうか?合わせたところエラーになりましたがリポジトリから落としたファイルがサーバーに配備した時のファイルという認識であっていますでしょうか?
spring

2015/09/14 13:55

上記22:28分のご回答見逃しており追記に関して回答しました!笑すみません。ご回答ありがとうございます。 家で確認してみます!
spring

2015/09/14 23:59 編集

下記の様にした所、サーバーの開始ボタンが非活性になり起動できなくなりました。 何か文法等設定を間違えていますでしょうか? -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.home="C:\tomcat\tomcat-7.0" -Dwtp.deploy="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps" -Djava.endorsed.dirs="C:\tomcat\tomcat-7.0\endorsed"-Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" coding=utf-8
spring

2015/09/15 00:03

半分寝ぼけており、精度の悪い回答しすみません。 明らかに記載ミスがありますね。 確認します。
spring

2015/09/15 01:02

記述ミスを直し起動しましたが症状改善せずでした。 他の方法を考えてみます。 -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.home="C:\tomcat\tomcat-7.0" -Dwtp.deploy="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps" -Djava.endorsed.dirs="C:\tomcat\tomcat-7.0\endorsed"-Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.base="C:\pleiades\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dfile.encoding=utf-8
spring

2015/09/15 01:06

>追記) >URIEncodingのほうでしょうか。 >server.xmlのConnectorの設定に書くようです。 >URIEncoding="UTF-8" 上記で現象改善しました。 長くお付き合い頂きありがとう御座いました。 とても助かりました。
argius

2015/09/15 02:19

お返事できなくてすみません。 こちらも手探りだったので解決できて良かったです。
guest

0

URLに付加したクエリパラメータが日本語で、それを取得したら化けていたということでしょうか?

URLには原則英数字と決まった特殊文字しか使えません。
そのためクエリパラメータを付加すると自動的にURLエンコーディングがかかります。なので、使用するときはデコードする必要があります。

投稿2015/09/14 11:50

yona

総合スコア18155

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

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

spring

2015/09/14 11:56

>URLに付加したクエリパラメータが日本語で、それを取得したら化けていたということでしょうか? はい!そうです。 ありがとう御座います。ちょっと調べてみます。
spring

2015/09/14 12:36

ご回答ありがとう御座います。 本番(Linux)で文字化けしていないこともありJavaコード修正せずにいこうと考えております。参考にさせて頂きます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.39%

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

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

質問する

関連した質問