コードについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
halu

コードについて

投稿記事 by halu » 2005年1月14日(金) 02:57

こんばんは。MACの件では大変お世話になりましてありがとうございました。

何度も質問でお手数をおかけいたしますが、
宜しくお願いいたします。

Warning: mb_convert_encoding(): Illegal character encoding specified in /.../cmsdesigner/include/app.php.inc on line 19

というエラーが出てしまうのですが、
どのような現象なのでしょうか。

お手数ですが、教えてください。宜しくお願い胃達します。

halu

何度もお手数をおかけします。

投稿記事 by halu » 2005年1月14日(金) 03:04

何度もおそれいります。
私の環境をお知らせさせてください。

以前、テストで行ったのはロリポップのサーバーで、
こちらは動作に問題がありませんでした。
今回は、CMS Designerを
X SERVERで使用してみたいと思いましたので、
xml-dom、xsltライブラリ、
gd2.0以上をインストールしていただきました。
PHP4.3.0以上で、マルチバイト正規表現ライブラリも利用可能とのことです。

宜しくお願い申し上げます。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: コードについて

投稿記事 by webmaster » 2005年1月14日(金) 14:12

 webmasterです。
halu さんが書きました: Warning: mb_convert_encoding(): Illegal character encoding specified in /.../cmsdesigner/include/app.php.inc on line 19
 この件ですが、ずっと調べているのですが、やはり手元では再現させることができない為原因不明の状態です。

 エラーそのものは、「不正な文字エンコード指定がされた」というものです。
 CMSDではファイルにデータを保存する際はUTF-8で保存している為、ここで入力値やその他の値をUTF-8に変換しています。
 その際に、入力値の文字コードを mb_detect_encoding()を使って検出しているのですが、ここで検出に失敗して変な文字エンコーディングが出現してしまっているのかもしれません。
 もしくは、そもそもUTF-8という文字コードをサーバーシステムが認識していない可能性もあります。

 関係ない可能性が高いですが、サーバー側のphp.iniで、

 mbstring.language = Japanese

 の指定はされているでしょうか・・?
 mbstring関係のphp.iniの設定についてはこちらをご参照ください。
 http://php.s3.to/man/ref.mbstring.html
 (php.iniを変更した場合はApacheの再起動が必要になります。)

 解明までまだしばらくかかりそうです。申し訳ありませんがお待ち頂ければ幸いです。

halu

ありがとうございます!

投稿記事 by halu » 2005年1月14日(金) 15:24

こんにちは。お返事下さいましてありがとうございます!

さきほど、この記事を拝見させていただきまして、
なぜかな〜と調べていて、たまたまサーバーのエラーログを見ていたのですね。

そうしましたら、
[error] PHP Warning: mb_convert_encoding(): Illegal character encoding specified in /.../cmsdesigner/include/app.php.inc on line 19
とともに
[error] [client xxx.xxx.xxx.xx] File does not exist: /.../favicon.ico
[error] [client xxx.xxx.xxx.xx] File does not exist: /...404.shtml

という記述が追記されることに気づきまして、
.htaccessを設置してみました。

内容は下記のものになるのですが、いつも同じような記述のものを使用するため、
下記のどちらが対応したのかは詳しくない私には判らないのですが、
(webmaseterさまでしたら判ると思うのですが)
.shtmlの記述があったのを思い出して何となく思いつきで設置してみました。

#─────────────────────────────
#ドキュメント内にSSIが記述されていればSSIを実行する。
#─────────────────────────────
AddType text/x-server-parsed-html .html .htm .shtml .shtm

#─────────────────────────────
#ドキュメント内にCGIが記述されていればCGIを実行する。
#─────────────────────────────
AddType application/x-httpd-cgi .cgi .pl

あいかわらず、
[error] [client xxx.xxx.xxx.xx] File does not exist: /.../favicon.ico
[error] [client xxx.xxx.xxx.xx] File does not exist: /...404.shtml
というサーバーのエラーログは出てしまうのですが、
[error] PHP Warning: mb_convert_encoding(): Illegal character encoding specified in /.../cmsdesigner/include/app.php.inc on line 19
のエラーログは出なくなりまして、
CSMでDesignerでも
Warning: mb_convert_encoding(): Illegal character encoding specified in /.../cmsdesigner/include/app.php.inc on line 19
エラーが出なくなり、
説明の部分の「エントリ更新日時」の文字化け、入力欄の文字化けもなくなりました。

どうしてなのか、私には分からないのですが、動作しましたので、
大丈夫かな〜と思いつつ、このままでしばらく様子を見ようと思っております。

色々とご説明をくださいまして、本当にありがとうございました。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: ありがとうございます!

投稿記事 by webmaster » 2005年1月14日(金) 17:48

 webmasterです。

 いろいろとお試しくださってありがとうございます。

 favicon.icoと404.shtmlの「File does not exist」ですが、これはおそらく
IEがfavicon.icoを取得しにいこうとして(IEはページのアイコン情報を取りに
行くのです)失敗(エラー404)し、さらにエラー404のエラー表示ページへ
ジャンプしようとして404.shtmlを探したのだが、それも見つからなかった、
というエラーログだと思われます。

 CMS Designerの動作に影響するものではないので基本的にほっといても
良いものだと思いますが、haluさんの対処でなぜCMS Designer側のエラーが
出なくなったのかはすいません、よく分かりません・・・・。

 その.htaccess指定によって、日本語のエンコードが正しく処理されるように
なったのでしょうか???

 まずは問題が出なくなったそうですので、実際こちらの方も調査のネタが
尽きてきた頃でして、一旦この問題はクローズさせて頂こうと思います。m(_ _)m

 また問題が再発しましたら、またご連絡頂ければ幸いです。

返信