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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Tomcat

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

Q&A

解決済

3回答

1778閲覧

struts 文字"~"がローカル環境で文字化けしないが、テスト環境で文字化してしまう。

mk222222

総合スコア59

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Tomcat

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

0グッド

0クリップ

投稿2019/03/13 07:57

テスト環境でDBから取得した値で、"~"の文字が文字化けして表示されていました。

ですので、デバッグしてみたところjavaでDBから値を取得してrequestに
セットするまでは文字化けしていませんでした。
その後の画面表示で文字ばけしているので、jspの文字コードまたはコンパイル過程に問題があると考えています。

しかし、ローカルとテストのwarファイルは同様のプロジェクトをビルドしたので
(環境設定ファイル以外は同じ)
どこから手をつけていいのかわからないです。

分かりそうな方、観点を押していただけないでしょうか。

#ローカル環境
windows
oracle
tomcat6
java1.7
eclipse4.3
表示:IE

#テスト環境
linux
oracle
tomcat6
表示:IE

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

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

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

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

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

guest

回答3

0

DB側の文字コードセットが JA16SJISTILDE になっていないと発生します。

https://www.atmarkit.co.jp/ait/articles/0903/04/news115.html
https://yohei-a.hatenablog.jp/entry/20100412/1271052985

投稿2019/03/13 10:16

A-pZ

総合スコア12011

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

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

mk222222

2019/03/14 00:19

一番目のサイト拝見いたしました。 dbの文字コードはJA16SJISでしたので文字化が発生しているようです。 アプリケーション側の変換で対応したいと思います!ありがとうございます!
guest

0

Oracleの文字コードが「なんとかTILDE」になっていないのでは?

詳しくは、「Oracle TILDE」でググってください。

投稿2019/03/13 08:26

otn

総合スコア84423

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

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

mk222222

2019/03/13 08:45

ありがとうございます。ググってみましたが、 そもそも今の動きがoracleからデータをjava側で取得する処理をデバッグし、デバッグ上で表示されている 値は文字化けしてないのでoracle→java間は問題ないと考え切り分けていこうと思ったのですが、 この考えがおかしいのでしょうか・・・
otn

2019/03/13 12:12

「文字化けしている」「文字化けしていない」というのは主観による判断なので、文字コードの数字を見た方が良いです。
mk222222

2019/03/14 00:12

ありがとうございます。getByteメソッドで文字コードチェックしてみます。
guest

0

自己解決

以下の処理を作成し、変換して対応しました。アドバイスありがとうございました。

    /* 文字化け対象文字 */ char prevvals = (char)0xFF5E; /* 文字化け対象文字コード */ char aftervals = (char)0x301C;     //判定文     //リターン

投稿2019/03/14 05:30

mk222222

総合スコア59

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問