WeBlogのRSSでエラー
投稿者: Ho-ri-Net | 投稿日時: 2005-9-19 1:10 | 閲覧: 21187回
エラー個所を見ましたが原因がよくわかりません。対処方法をご存知の方、アドバイスをお願いします。
環境は、
OS: Windows2000
Web Service: IIS
WeBlog 1.41
XOOPS 2.0.12 JP : ユーザー名に漢字など使用OK
アドバイス、よろしくお願いします。
エラー内容は以下の通りです。
引用:
引用:
環境は、
OS: Windows2000
Web Service: IIS
WeBlog 1.41
XOOPS 2.0.12 JP : ユーザー名に漢字など使用OK
アドバイス、よろしくお願いします。
エラー内容は以下の通りです。
引用:
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
------------------------------------------------------------
テキストの内容に無効な文字が見つかりました。リソース 'http://xoopssv/modules/weblog/backend_weblog.php' の実行エラーです。ライン 10、位置 15
引用:
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
------------------------------------------------------------
テキストの内容に無効な文字が見つかりました。リソース 'http://xoopssv/modules/weblog/weblog-rdf.php' の実行エラーです。ライン 8、位置 21
コメント(19)
新しいものから |
古いものから |
ネスト表示 |
Re: WeBlogのRSSでエラー
投稿者: okuhiki | 投稿日時: 2005-9-19 1:53
文字コードがUTF-8と指定されているのにEUC-JPで書き出されていますね。
phpのmbstringの設定を確認されてはいかがでしょうか。
ちなみに私のiis6,php4.3.10での設定は、
です。
xhldでの問題も同じ原因かも。
phpのmbstringの設定を確認されてはいかがでしょうか。
ちなみに私のiis6,php4.3.10での設定は、
Multibyte Support enabled
Japanese support enabled
HTTP input encoding translation enabled
Multibyte (japanese) regex support
mbstring.detect_order auto
mbstring.encoding_translation On
mbstring.func_overload 0
mbstring.http_input auto
mbstring.http_output pass
mbstring.internal_encoding EUC-JP
mbstring.language Japanese
mbstring.substitute_character no valuexhldでの問題も同じ原因かも。
Re: WeBlogのRSSでエラー
投稿者: Ho-ri-Net | 投稿日時: 2005-9-19 2:14
引用:
mbstring.detect_order auto
mbstring.encoding_translation On
mbstring.func_overload 0
mbstring.http_input auto
mbstring.http_output pass
mbstring.internal_encoding EUC-JP
mbstring.language Japanese
mbstring.substitute_character no value[/code]
↑の設定はphp.iniで行ないました。(設定変更を反映させる方法ってど〜したらいいのですか?)
もし、何にもしないで設定が反映されるなら、問題は解決されてません。
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
投稿者: LifeGooD | 投稿日時: 2005-11-28 18:24
同様の事象のように思えますので、返信させて頂きます。
私の環境は、
OS: Fedora Core 3
Web Service: Apache
WeBlog 1.42
XOOPS 2.0.12 JP
WeblogのRSS表示で同様のエラーが出力されます。
引用:
一方で、RDFの方は問題なく表示できています。
引用:
この事象から判断するに、okuhikiさんのご指摘のあった文字コードによる出力エラーの可能性は低いのではないかと思えます。
しかしながら、解決の糸口が見えたわけではないのですが・・・
アドバイス宜しくお願い致します。
私の環境は、
OS: Fedora Core 3
Web Service: Apache
WeBlog 1.42
XOOPS 2.0.12 JP
WeblogのRSS表示で同様のエラーが出力されます。
引用:
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
--------------------------------------------------------------------------------
終了タグ 'item' が開始タグ 'title' と一致していません。リソース 'http://192.168.0.242/xoops/modules/weblog/backend_weblog.php' の実行エラーです。ライン 27、位置 7
------^
一方で、RDFの方は問題なく表示できています。
引用:
-
〜略〜
この事象から判断するに、okuhikiさんのご指摘のあった文字コードによる出力エラーの可能性は低いのではないかと思えます。
しかしながら、解決の糸口が見えたわけではないのですが・・・
アドバイス宜しくお願い致します。
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
投稿者: LifeGooD | 投稿日時: 2005-11-29 11:48
早速の返信をありがとうございます。
引用:
おっしゃる通りIEで確認しておりましたので、Firefoxで再確認してみました。
実はRSSだけでなくRDFでもパースエラーが発生していた模様です。
引用:
引用:
templateの編集を行なってはいないので、okuhikiさんはのおっしゃる通り「文字化けで終了タグが終了タグとして認識されていない。」の線が濃厚かなっとは思っております。
ここで疑問なのですが、
php.iniのmb_stringにおいてEUCをデフォルトに設定しておりますが、RSS・RDFの文字コードはUTF-8をテンプレート上で指定しております。
この不整合が本エラーを引き起こしているのでしょうか?
私としては、RSS・RDF側ではただエンコードを指定しているだけなので、原因とはあまり思えないのですが、、。
引用:
okuhikiさんは書きました:
firefoxなどでXML文書のソースが表示可能なブラウザでエラーの該当行付近を確認されてはいかがでしょう。
御書きのエラー表示はIEですね。IEでXML文書のソースは標準では表示出来ませんから注意してね。
おっしゃる通りIEで確認しておりましたので、Firefoxで再確認してみました。
実はRSSだけでなくRDFでもパースエラーが発生していた模様です。
引用:
weblog/backend_weblog.php
XML パースエラー: 整形式になっていません
URL: http://192.168.0.242/xoops/modules/weblog/backend_weblog.php
行番号: 4, 列番号: 22:
Lifegood
--------------------^
引用:
/weblog/weblog-rdf.php
XML パースエラー: 整形式になっていません
URL: http://192.168.0.242/xoops/modules/weblog/weblog-rdf.php
行番号: 113, 列番号: 1:
templateの編集を行なってはいないので、okuhikiさんはのおっしゃる通り「文字化けで終了タグが終了タグとして認識されていない。」の線が濃厚かなっとは思っております。
ここで疑問なのですが、
php.iniのmb_stringにおいてEUCをデフォルトに設定しておりますが、RSS・RDFの文字コードはUTF-8をテンプレート上で指定しております。
この不整合が本エラーを引き起こしているのでしょうか?
私としては、RSS・RDF側ではただエンコードを指定しているだけなので、原因とはあまり思えないのですが、、。
Re: WeBlogのRSSでエラー
投稿者: zephyr | 投稿日時: 2005-11-29 13:49
フォーラムがまたがって恐縮なのですが、トラブルシューティングでのスレッド
http://xoopscube.jp/modules/xhnewbb/viewtopic.php?topic_id=999&forum=5
にて、当方も質問し、Ver 1.42 で解決済と思っていますが、もし、パースエラーがでるなら、okuhiki さんの投稿が参考になります。
ちなみに、修正前には、IE も、火狐も XML は普通に表示されました。上記スレッドに書きましたが、Validate には、検証サイト
http://www.feedvalidator.org/
が役に立ちます。そこでの結果によると、余分なワーニング出力が原因で、UTF-8 へのコーディング変換は、PHP 側 EUC でうまくいくはずですので、あまりコード設定は変更しないほうがよいと思います。
http://xoopscube.jp/modules/xhnewbb/viewtopic.php?topic_id=999&forum=5
にて、当方も質問し、Ver 1.42 で解決済と思っていますが、もし、パースエラーがでるなら、okuhiki さんの投稿が参考になります。
ちなみに、修正前には、IE も、火狐も XML は普通に表示されました。上記スレッドに書きましたが、Validate には、検証サイト
http://www.feedvalidator.org/
が役に立ちます。そこでの結果によると、余分なワーニング出力が原因で、UTF-8 へのコーディング変換は、PHP 側 EUC でうまくいくはずですので、あまりコード設定は変更しないほうがよいと思います。
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
投稿者: LifeGooD | 投稿日時: 2005-12-1 19:15
zephyrさん、okuhikiさん
コメントどうもありがとうございます。
調査したところ、上記ポイントに挿入される文字列は日本語でした。また、記号等も使用しておりませんでしたので、文字コードに原因があるのではないかと推測しました。
そこで、HTTPヘッダー情報を取得し、
「なぜRDFは表示されるのに、RSSはパースエラーとなるのか?」
について検証してみました。
何故こうなるのかは不明ですが、
HTTP Header内で送付されてくる文字コードに違いがあるようです。
これが原因となり、日本語文字コードの問題でパースエラーが発生してしまっているようです。
Content-Type:もtextとapplicationで違いがありますね。
確かこちらはどこかで話題に登りましたっけ・・・
しかしながら、RDFでパースエラーが発生していないことから、環境に依存した問題でもないようにも思えます。
皆さん、どう思われますか?

コメントどうもありがとうございます。
<title>Lifegood
---------------^
調査したところ、上記ポイントに挿入される文字列は日本語でした。また、記号等も使用しておりませんでしたので、文字コードに原因があるのではないかと推測しました。
そこで、HTTPヘッダー情報を取得し、
「なぜRDFは表示されるのに、RSSはパースエラーとなるのか?」
について検証してみました。
RDF レスポンス Header
(パースエラーなし)
Date: Thu, 01 Dec 2005 09:57:01 GMT
Server: Apache/2.0.52 (Fedora)
X-Powered-By: PHP/4.3.11
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 2635
Connection: close
Content-Type: application/xml; charset=utf-8
200 OK
RSS レスポンス Header
(パースエラー)
Date: Thu, 01 Dec 2005 09:55:55 GMT
Server: Apache/2.0.52 (Fedora)
X-Powered-By: PHP/4.3.11
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 2518
Connection: close
Content-Type: text/xml; charset=EUC-JP
200 OK
何故こうなるのかは不明ですが、
HTTP Header内で送付されてくる文字コードに違いがあるようです。
これが原因となり、日本語文字コードの問題でパースエラーが発生してしまっているようです。
Content-Type:もtextとapplicationで違いがありますね。
確かこちらはどこかで話題に登りましたっけ・・・
しかしながら、RDFでパースエラーが発生していないことから、環境に依存した問題でもないようにも思えます。
皆さん、どう思われますか?


Re: WeBlogのRSSでエラー
投稿者: LifeGooD | 投稿日時: 2005-12-1 20:59
自己レスです。
backend_weblog.php内を再度見ていたところ、header表記が2箇所ありました。
引用:
そこで、RDFのHTTPヘッダーに合わせる形で、上段のheaderをコメントアウトしたところ、正常に稼動しました。
ちなみにheader表記が2箇所ある理由は、よく理解しておりません。
引用:
一部の環境でしか発生しない問題だとは思うのですが、一応上記対応で対応可能なようです。
以上、ご報告まで。
backend_weblog.php内を再度見ていたところ、header表記が2箇所ありました。
引用:
header ('Content-Type:text/xml; charset=utf-8');
header('Content-type: application/xml; charset=utf-8');
そこで、RDFのHTTPヘッダーに合わせる形で、上段のheaderをコメントアウトしたところ、正常に稼動しました。
ちなみにheader表記が2箇所ある理由は、よく理解しておりません。
引用:
header ('Content-Type:text/xml; charset=utf-8');
↓
//header ('Content-Type:text/xml; charset=utf-8');
一部の環境でしか発生しない問題だとは思うのですが、一応上記対応で対応可能なようです。
以上、ご報告まで。
Re: WeBlogのRSSでエラー
投稿者: min_o | 投稿日時: 2005-12-6 21:17
Weblog(1.42)をインストールしたのですが、RSS配信がうまくいかず困っています。ファイルをダウンロードしても、中身がなく真っ白なのです。
RDFのほうは問題なく書き出されています。
テンプレートをいろいろいじったためかと、デフォルトのテンプレートに戻してみましたが、結果は同じでした。
過去ログを拝見して、
WeBlog/backend_weblog.php
の下から2行目をコメントアウト
//header('Content-type: application/rss+xml');
してダウンロードせずにブラウザ表示させてみましたが
引用:
と表示されます(ブラウザはIE)。
過去ログから似たエラー文の対処をみてみましたが、知識不足でよくわかりませんでしたorz
よろしくご教授おねがいします(T.T)
RDFのほうは問題なく書き出されています。
テンプレートをいろいろいじったためかと、デフォルトのテンプレートに戻してみましたが、結果は同じでした。
過去ログを拝見して、
WeBlog/backend_weblog.php
の下から2行目をコメントアウト
//header('Content-type: application/rss+xml');
してダウンロードせずにブラウザ表示させてみましたが
引用:
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
-----------------------------------------------------------------
XML ドキュメントには最上位の要素を指定する必要があります。リソース 'http://prevo.jp/hirameki/modules/weblog1/backend_weblog.php' の実行エラーです。
と表示されます(ブラウザはIE)。
過去ログから似たエラー文の対処をみてみましたが、知識不足でよくわかりませんでしたorz
よろしくご教授おねがいします(T.T)
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
投稿者: min_o | 投稿日時: 2005-12-7 18:04
zoracさん
解答ありがとうございます。
引用:
58行目
//header ('Content-Type:text/xml; charset=utf-8');
をコメントアウトすると、エラーはでなくなりましたが
ダウンロードファイルはやはり何もない真っ白なファイルです。
下から2行目のheaderと、上記の二行ともコマンドアウトすると
ブラウザ表示ですが、空白ページです。(IE FireFoxとも)
なにが原因なんでしょうか??
解答ありがとうございます。
引用:
zoracさんは書きました:
下から2行目ではなくもう一つの方のheader文をコメントアウトです。
Content-typeがtextだとmb_http_outputmb_output_handlerで文字コード変換が行われてしまいますので、Content-typeがapplicationのheader文を残してtextの方をコメントアウトしなければいけません。
58行目
//header ('Content-Type:text/xml; charset=utf-8');
をコメントアウトすると、エラーはでなくなりましたが
ダウンロードファイルはやはり何もない真っ白なファイルです。
下から2行目のheaderと、上記の二行ともコマンドアウトすると
ブラウザ表示ですが、空白ページです。(IE FireFoxとも)

なにが原因なんでしょうか??
Re: WeBlogのRSSでエラー
投稿者: sljfen | 投稿日時: 2005-12-8 15:45
こんにちは。
私も同じ現象が発生したので、解決法を探そうとここにたどり着いた。
引用:
両方ともコマンドアウトすると、エラーになると思います。
私の場合は、
header ('Content-Type:text/xml; charset=utf-8');
だけを削除したら、うまくできました。
関係があるかどうか分からないけど、サーバの設定内容は次のようになります。
mbstring.http_output EUC-JP
mbstring.internal_encoding EUC-JP
うまくいくように。
私も同じ現象が発生したので、解決法を探そうとここにたどり着いた。
引用:
58行目
//header ('Content-Type:text/xml; charset=utf-8');
をコメントアウトすると、エラーはでなくなりましたが
ダウンロードファイルはやはり何もない真っ白なファイルです。
下から2行目のheaderと、上記の二行ともコマンドアウトすると
ブラウザ表示ですが、空白ページです。(IE FireFoxとも)
両方ともコマンドアウトすると、エラーになると思います。
私の場合は、
header ('Content-Type:text/xml; charset=utf-8');
だけを削除したら、うまくできました。

関係があるかどうか分からないけど、サーバの設定内容は次のようになります。
mbstring.http_output EUC-JP
mbstring.internal_encoding EUC-JP
うまくいくように。
Re: WeBlogのRSSでエラー
Re: WeBlogのRSSでエラー
投稿者: min_o | 投稿日時: 2005-12-9 19:18
sljfenさん zoracさん
レスありがとうございました。
zoracさんの提案に従い、weblogをもう1つインストールしてみました。
すると、二つ目のweblogは何もカスタマイズしなくてもRSSは問題なく作成されました。
二つ目のweblogのbackend_weblog.phpをダウンロードして、一つ目のweblogのものと、入れ替えたら、一つ目の方も無事にRSSが作成されました。
みなさまありがとうございます。
実は本番用、テスト用などでxoopsとweblogをつごう3つのサーバー(2つはlolipop、1つは英語サーバー)にインストールしたのですが、その全てで同じ現象が発生していたのです。
(すべて同じ方法でなおりました)
三つともweblogはインストール時に番号を付けてweblog1としていました。
(二つ目のインストールは番号なしのweblog)
最初のインストールに余計な番号を付けたのが問題なのかとも、思うのですが、どうなんでしょう?
レスありがとうございました。
zoracさんの提案に従い、weblogをもう1つインストールしてみました。
すると、二つ目のweblogは何もカスタマイズしなくてもRSSは問題なく作成されました。
二つ目のweblogのbackend_weblog.phpをダウンロードして、一つ目のweblogのものと、入れ替えたら、一つ目の方も無事にRSSが作成されました。

みなさまありがとうございます。
実は本番用、テスト用などでxoopsとweblogをつごう3つのサーバー(2つはlolipop、1つは英語サーバー)にインストールしたのですが、その全てで同じ現象が発生していたのです。
(すべて同じ方法でなおりました)
三つともweblogはインストール時に番号を付けてweblog1としていました。
(二つ目のインストールは番号なしのweblog)
最初のインストールに余計な番号を付けたのが問題なのかとも、思うのですが、どうなんでしょう?


