私は、JavaとRSSフィードパーサーを書いているとフィードおよび/アラビア中国語/日本語の文字を持っているフィードを解析している間、私は問題が発生しました。解析アラビア/中国語/日本語RSSは、java
私はちょうど「?????? ?? ????? ??」疑問符のセットを取得し、それらを印刷しExample feed。
彼らはまた、そのように(mysqlの、休止状態で接続され、エンコーディングとしてUTF8がセットされている)私のデータベースに終わります。
このフィードからタイトルを取得するための責任があるコードの一部:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(url.openStream());
doc.getDocumentElement().normalize();
Node channelNode = doc.getElementsByTagName("channel").item(0);
NodeList channelList = channelNode.getChildNodes();
for (int i = 0; i < channelList.getLength(); i++) {
Node element = channelList.item(i);
String name = element.getNodeName();
if (name.equalsIgnoreCase("title")) {
rssName = element.getTextContent();
break;
}
}
データベースに適切な文字を取得する方法は? 私はそれらをフィードからコピーし、データベースに人手で挿入します。
ありがとう
UPDATE
:は、問題を修正私の休止状態の設定に追加の行を置く:
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
これらの文字を印刷するにはフォントがインストールされていますか? – rvdginste
@rubenvdg:これらの文字のフォントがない場合は、黒い枠線で囲まれた空の白い四角や、特定のアプリケーション(Webブラウザなど)で[ユニコード置換文字](http://www.fileformat.info/info /unicode/char/fffd/index.htm)、確かに疑問符ではありません。 – BalusC
@BalusC:私はそれが文脈に依存すると思った、私が間違っていなければ、Linuxのターミナルウィンドウはある場合には疑問符を表示するだろう。いずれにしても、私の発言は気にしないで、「手動で挿入する」という最後の文を忘れてしまった。 – rvdginste