[解決済み] HTML TitleのUnicode問題、クエスチョンマーク?65533;
質問
以下のウェブページからタイトルを解析しようとしています。 http://kid37.blogger.de/stories/1670573/
title 要素で apache.commons.lang StringEscapeUtils.escapeHTML メソッドを使用すると、次のような結果が得られます。
Das hermetische Caf�: Rock & Wrestling 2010
しかし、これをutf-8エンコーディングでウェブページに表示すると、クエスチョンマークが表示されるだけです。
以下のコードを使用します。
String title = StringEscapeUtils.escapeHtml(myTitle);
このサイトにタイトルを流すと http://tools.devshed.com/?option=com_mechtools&tool=27 次のような出力が得られ、これは正しいと思われます。
TITLE
<title>Das hermetische Café: Rock & Wrestling 2010</title>
BECOMES(escapeHtmlメソッドに期待してたんだけどなー)。
<title>Das hermetische Café: Rock & Wrestling 2010</title>
何かいいアイデアはないでしょうか?
解決方法は?
U+FFFD (10進数65533)は、"置換文字"です。デコーダが無効なバイト列に遭遇した場合、それは かもしれない (設定によりますが) �を破損したシーケンスに置き換えて続行します。
破損したシーケンスの一般的な理由の1つは、間違ったデコーダが適用されたことです。例えば、デコーダがUTF-8であるにもかかわらず、ページが実際にはISO-8859-1(content-typeヘッダまたは同等のもので別のものが指定されていない場合のデフォルト)でエンコードされているような場合です。
そのため、文字列を渡す前に
escapeHtml
はすでに "é" に置き換えられており、このメソッドはこれを正しくエンコードしています。
当該ページでは、ISO-8859-1のエンコードを使用しています。取得したリソースを変換する際に、そのデコーダを使用していることを確認してください。
String
.
関連
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み】Mockitoでモックからチェックされた例外を投げる
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み] 特定のUnicode文字を含むコメントでのJavaコードの実行が許可されているのはなぜですか?
-
[解決済み] HTMLアンカーは'name'と'id'のどちらで作成するのが良いですか?
-
[解決済み] HTMLで'˶'ᴗ'˶に改行される
-
[解決済み】JavaScriptでHTMLページのタイトルを取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】Javaメソッドスタブ
-
[解決済み】予期しない型エラー
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。