プロが教えるわが家の防犯対策術!

お世話になります。

SSIで日付を次のようにHTMLのページに書いています。

<!--#config timefmt="%Y年%m月%d日(%a)" --><!--#echo var="DATE_LOCAL" -->

すると、今までは、「2014年11月20日(Thu)」と出ていましたが、

ブロバイダが、サーバーを機種変更して新しくしたら文字化けして、「2014”N11ŒŽ20“úiThuj」と出てしまいます。

そこでブロバイダに問い合わせましたら、

「SSIはユーザー権限で動作しますのでシステム系のコマンドや
他のディレクトリにあるCGIなどは動作しません。
日付を表示したい場合はJavaなどを使用していただきますようお願いいたします。」

という返事が返ってきました。
返答の意味が分かりませんが、今まではよかったのに、どう考えたらいいのでしょうか?
今でも他のSSIは使えています。

よろしくお願い致します。

A 回答 (4件)

echo に encoding 属性を指定してみたらどうでしょうか。

私の利用しているプロパイダでは、文字化けせずに表示することができます。(ちなみに、HTML の文字コードは euc-jp で、サーバは Apache/2.2.25 です。)

<!--#config timefmt="%Y年%m月%d日(%a)" --><!--#echo encoding="none" var="DATE_LOCAL" -->
    • good
    • 0

apache のデータ変換用コマンドの設定らしいのだが(詳しいことは知らないけど)、SSIのconfigフォーマットに含まれた多バイト文字を、1バイトごとに &#x25; というようなhtmlエンティティ形式に変換しちゃうような状況をみたことがある。

数年前に消えたフリーサーバーがそうだった。これは出力されたhtmlソースをみると解ります。
プロバイダーの返事が、意味不明ということは、その設定変更は望めないので、SSI のフォーマットに多バイト文字を含めるのはあきらめましょう。年と月と日と個別にやればok

<!--#config timefmt="%Y" --><!--#echo var="DATE_LOCAL" -->年
<!--#config timefmt="%m" --><!--#echo var="DATE_LOCAL" -->月
<!--#config timefmt="%d" --><!--#echo var="DATE_LOCAL" -->日
<!--#config timefmt="(%a)" --><!--#echo var="DATE_LOCAL" -->
    • good
    • 0
この回答へのお礼

ありがとうございます。
真の解決ではないですが、書いていただいた内容で目的は達成できます。
私もいま現在そうしています。ありがとうございました。

お礼日時:2014/11/22 10:27

<!--#config timefmt="%Y/%m/%d" -->

    • good
    • 0
この回答へのお礼

たしかに
<!--#config timefmt="%Y/%m/%d(%a)" --><!--#echo var="DATE_LOCAL" -->
と記述すると、今の状態でも、「2014/11/20(Thu)」と文字化けせずに表示されます。

しかしながら、質問の通り、前はちゃんと年月日の表示が出来ておりました。
<!--#config timefmt="%Y年%m月%d日(%a)" --><!--#echo var="DATE_LOCAL" -->
→「2014年11月20日(Thu)」
  ↑このように文字化けしない方法はどうしたらよいのでしょうか?

お礼日時:2014/11/20 20:20

そのHTMLの文字コードを確認してください。


また、単純に
<!--#config timefmt="%Y/%m/%d" -->
だとよいはずです。

なお、
「SSIはユーザー権限で動作しますのでシステム系のコマンドや
他のディレクトリにあるCGIなどは動作しません。
日付を表示したい場合はJavaなどを使用していただきますようお願いいたします。」
はとても、トンチンカンです。
    • good
    • 0
この回答へのお礼

HTMLの文字コードは、シフトJISでメタタグの所にcharset=Shift_JIS"としています。

で、教えていただいたように、
<!--#config timefmt="%Y/%m/%d" -->
だけだと、何も表示されません。

ブロバイダの回答は、JavaScriptで日付を表示するくらいならSSIのページの意味がないし、あとは何を言っているのか分かりません。

とりあえず、ありがとうございました。

お礼日時:2014/11/20 17:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!