0

私はちょうど使用しています:

NumberFormat cfLocal = NumberFormat.getCurrencyInstance(Locale.JAPAN.toString());

IE と円を除くほとんどのデバイス/ブラウザ/通貨で問題なく動作します。余分な文字がいくつか表示されます。送信されているエンコードがおかしいのか、ブラウザ固有の設定によって ¥ 記号の処理が台無しになっているのでしょうか?

出力は次のようになります。

15,180円

リードやヒントをいただければ幸いです。

編集: JSPで値を出力しています。JSP ファイルは、次のプリアンブルで定義されています。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
4

1 に答える 1

1

私はエンコーディングの専門家ではありませんが、あなたの XML は 1 つのことを言い、コンテンツ タイプは別のことを言っているようです - 両方を UTF-8 に設定してみてください。

データがアプリケーションの外部 (データベース、ファイルなど) から来ている場合、ソースのエンコーディングは何ですか? たとえば、MySQL データベースには別の文字セットが指定されている場合があります。

Apache などの Web サーバーを使用している場合、エンコーディングが変更されますか? たとえば、httpd.conf ディレクティブを使用してデフォルトの文字セットを設定できます。

AddDefaultCharset utf-8

ブラウザーの HTTP ヘッダーをチェックして、実際にブラウザーに何が送信されているかを確認し、そこから戻って作業することをお勧めします。

編集

もっと考えてみると、XMLエンコーディングが必ずしも問題なのかどうかはわかりません。最初にヘッダーをチェックし、生成された html と比較するのがおそらく最善でしょう。

于 2012-10-31T02:33:03.260 に答える