
現在MTでサイトを運営していますが、Another HTML-lint gatewayというサイトをチェックするツールで自分のサイトをチェックしてみるのですが、以下のようなエラーが出てきてしまします。
XHTML1.0 では XML宣言をすることが強く求められています。 → 解説 21
XHTML1.0 では XML宣言中に encoding 指定をしましょう。 → 解説 137
これは一体何のことなのでしょうか?私自身あまり知識が無く、私なりに色々調べてみるのですが、<?xml version="1.0" encoding="UTF-8"?>を入れると解決できるらしいのですが、なにやら表示がおかしくなってしまいます。
なので結局解決に至らず、いまだにここの部分だけはどうしても解決法が分かりません・・・。
どなたかこのエラーを無くす方法をご存知の方いらっしゃいましたら、アドバイス頂けたら幸いです!
ちなみにサイトの補足としまして、ムーバブルタイプは設置型のもので、Movable Type 3.2-ja-2です。
また文字コードはcharset=shift_jisとなっております。
情報が不足しています場合、補足をさせていただきますので、お詳しい方宜しくお願いいたします。
No.8ベストアンサー
- 回答日時:
訂正です。
前回の回答で、
<?php echo'<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'; ?>としていましたが、
私の環境特有の設定で、html形式のファイル上で、phpが動作する特殊な環境設定に起因する問題でした。
<?xml version="1.0" encoding="<$MTPublishCharset$>"?>と入力する事で、
UTF-8の文字コードであれば、問題なく表示されました。(検証済み)。
mt-config.cgiのPublishCharsetについては、
私の環境UTF-8 から Shift_Jis への変更も、
試しました。
実稼動しているので、時間をかけることは出来ませんでしたが、
既に入力済みのドキュメントは、動的に変更される事はなく、文字化けしました。
既に入力済みで、xml宣言追加時に文字化けがあるのであれば、既に書いてある分は、エクスポートして、文字コード変換の上、インポートするなどの処置が必要と思います。
トラックバックや、XMLを使うという点から見ると、
現状のShift_Jis よりは、UTF-8のデフォルトの文字コードがお勧めですが、それぞれ事情がありますから、、、。
前回の回答がイレギュラーなものだったので、もう一度やってみました。お許しを、、、。
No.7
- 回答日時:
#4です。
「XHTMLはUTF-8で記述しなければなりません」は誤りでした。
「XHTMLはUTF-8またはUTF-16が”デフォルト”」でした。すいません。
で、UTF-8またはUTF-16以外の場合は「encoding="文字コード"」の指定が必須となります。
#5の方がフォローしてくださってますが、
encoding="shift_jis"とすれば、正しく表示される気がします。
No.6
- 回答日時:
こんにちは、私のMT-3.2-ja-2で試してみた結果お知らせします。
疑問1:どうしてshift_jisになっているんだろ。
utf-8でいいなら、mt-config.cgiというファイルを探して、line 270 をチェックしてください。
以下のところを確認、utf8でいいなら、utf-8にしよう。
# By default Movable Type uses the UTF-8 character encoding which
# supports an international range of characters. For some languages,
# though, UTF-8 is not he ideal encoding. Use the PublishCharset
# option to determine the character encoding that is sent in the
# HTTP headers.
PublishCharset utf-8
次に、XML宣言ですが、
<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
どうも、phpという言語で書いてあるようなので、上記のように普通に書くと、エラーになりました。
<?php echo'<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'; ?>
不思議な事に、phpのコードをテンプレートにかけてしまうようなので、上記のように書くと、OKでした。
参考URL:http://www.odekake.biz/
No.5
- 回答日時:
実際に文書を見てみないとわからないですね....
Ring サーバーの Another HTML-lint gateway で手持ちの文書をチェックしてみましたが, Shift JIS の文書に対して
<?xml version="1.0" encoding="shift_jis"?>
という XML 宣言をしておけば (少なくともそこについては) 問題ないですから....
ちなみに,
「XHTMLは、その内容をUTF-8で記述しなければなりません。」
というのは (少なくともこの部分だけを取り出すと) 間違いです. まあ, そのあとで「encoding="UTF-8" としてるのに Shift JIS で書いているのがおかしい」とあるので一応のフォローにはなりますが. XML 宣言で encoding を指定しておけば UTF-8 (あるいは UTF-16) でなくても本質的には問題ありません.
No.4
- 回答日時:
XHTMLは、その内容をUTF-8で記述しなければなりません。
shift_jisで記述してはダメです。encoding指定はCHARSETと同じようなものです。
つまり、encoding="UTF-8"として、UTF-8で書いていますと宣言していながら、
shift_jisで記述しているため文字化けが起きています。
有難う御座います。
>>XHTMLは、その内容をUTF-8で記述しなければなりません。shift_jisで記述してはダメです。
そうなのですか・・・、確か基本はUTF-8かUTF-16だったような気がしますが、それらが変更になった場合の為の<?xml version="1.0" encoding="sift-jis"?>宣言では無いのですか?
すみません、よく分からないのですが私はそう解釈していたのですが、必ずUTF-8じゃ無いと駄目ということになると、いろいろ制限が厳しそうですね・・・。
No.2
- 回答日時:
分る範囲だけで。
<?xml version="1.0" encoding="UTF-8"?>宣言を入れるとIEで表示がおかしくなるのはIEのバグです。
要するにHTMLの構文チェックをされていてエラーが表示されてしまうとの事だと思うのですが、100点満点を目指さなくても、ちゃんと表示出来ていればOKだと思います。実際、各ブラウザごとにバグというかタグやCSS対応に不十分な所があるので、HTMLの構文に正しくかなっているからいい、という事ばかりでもありませんので。
(本当はバグがあるブラウザがいけないんですけど・・・・
有難う御座います。
・・・そうですかバグだったんですね。
それじゃあこれでOKということにしたいと思います。
もし他に何か対策や解決法があればご指導いただければと思います。
という事で、もう少しこの質問を開放させていただきますので、宜しくお願いいたします。
No.1
- 回答日時:
> <?xml version="1.0" encoding="UTF-8"?>を入れると解決できるらしいのですが、
> なにやら表示がおかしくなってしまいます。
> ・・・
> また文字コードはcharset=shift_jisとなっております。
じゃあ
<?xml version="1.0" encoding="SHIFT_JIS"?>
ってしてみたらどうなるでしょう?
有難う御座います!!
早速試してみたのですが、cssに対してスイッチ?が聞いてしまうというか、なにやら表示がおかしくなってしまいます。
また
XHTML1.0 では XML宣言中に encoding 指定をしましょう。 → 解説 137
は、表示されたままなのですが、一体何がいけないのでしょうか??
引き続き宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
- 発達障害・ダウン症・自閉症 ASDの共感力と読解力は正の相関にありませんか? 0 2022/08/21 14:47
- 相続・譲渡・売却 立ち退き…橋脚の間隔について… 都市計画道路で 橋の高さが地上から20メートル? ぐらいの高さに設置 3 2023/01/19 02:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- 数学 この数学問題、スマートに解く方法を教えてください。 3 2023/01/26 23:17
- Windows 10 Windows Updateの更新ができない場合に初期化 3 2023/01/18 20:00
- Wi-Fi・無線LAN 自分のノートパソコンにいつも通りのパスワードを入力してもエラーが表示されてパソコンが一切利用出来なく 5 2022/10/01 12:42
- 宅地建物取引主任者(宅建) 未経験・知識ゼロからの宅建取引士勉強方法について 2 2022/06/10 14:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
質問
-
XSLT変換した際、必要のないxml...
-
CPUの考え方を教えてください ...
-
複数のマックPCによる数値計算...
-
東芝のDynabookなのですがアン...
-
Listからのnull要素を削除方法は?
-
あるノードリストに、特定の名...
-
Excel-VBAでXMLの複数ノードの...
-
各ノードの行数取得
-
ルート要素ノードが2個ある場合?
-
VB6でXMLを作成しているのです...
-
ノードとは
-
VBAでXMLを出力するプログラム...
-
VBSでXMLを読込、検索結果をテ...
-
C#初心者です。HtmlAgilityPack...
-
xmlファイルが上手にHTMLに変換...
-
VBSでxmlの値を書き換えたい
-
excelにてweb関数を使い、webデ...
-
XSL中の改行、タブを無効にした...
-
XMLパースエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでXMLファイルを作ると xmlns...
-
このエラー、何とかなりません...
-
u_shortなどの省略した宣言につ...
-
Netscape 6/7 でのテーブル内の...
-
縁切りするとき
-
XML Schemaの妥当性のチェック
-
基本的なことですがXML宣言につ...
-
文書型定義と文書型宣言について
-
DTDファイルをクラスパスから読...
-
METAタグのNAME、CONTENT属性の...
-
<?xml version="1.0" encording...
-
ASPで型宣言
-
DTDと名前空間
-
DTDとXML Schemaでのデフォルト...
-
HTMLとXMLの用途の違いを教えて...
-
競技プログラミングに関する質...
-
XML文書の妥当性
-
XHTML1.1でのXML宣言とDTD宣言...
-
XSLT変換した際、必要のないxml...
-
質問
おすすめ情報