auから文字化け(T^T)

2010年5月24日 at 22:37

はじめまして。初登校です。あ,ちがう初投稿です。
Concrete5に魅せられて,頼まれたサイト構築をConcrete5でしました。
これまでいくつかのCMSを使ってきましたが,これはいいですね!
でも,少し問題が....

携帯(au)から,フォームで投稿した後,
1) 「このページは見つかりませんでした(404)」というエラーが出ます。

しかし,このエラーがでてもレポートには登録されています。しかし...

2) 管理画面 > レポート から見てみると,マルチバイト文字が化けます。
こんな感じ -> %90V%8bK%81%40%81%40%81%40

通知メールが文字化けするという現象に関しては対策を施しました。
mbstring.internal_encoding = utf8

php関係の設定で,もっと何かしなければならないことはあるのでしょうか。
それにしても,最初の404エラーがでるのが不思議です。

なにかヒントでもあれば教えていただけないでしょうか。

基本携帯対応していないんで...

2010年5月25日 at 10:49
cocnrete5は標準では基本的に携帯対応していないので、携帯だとちゃんと動かないかもしれませんね。

Formの場合、サーバの設定等からshift-jisでフォームのデータを送信してるかもしれません。
 

Re: 基本携帯対応していないんで...

2010年5月25日 at 13:04
お返事ありがとうございます。
そうなんでしょうね。auのケータイはsjisで送ってくるらしいです。
ググってみると他のシステムでもいつも困ったことになっているそうです。

Concrete5の場合は,ケータイからアクセスするとブロックがうまく流れてくれて,サイトをさほどストレスなく見られるので,ついフォームも!と欲張ってしまったわけです。フォーム投稿者にはケータイ非対応と伝えて運用することにします。

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

Re: Re: 基本携帯対応していないんで...

2010年5月25日 at 13:12
/concrete/blocks/form/controller.phpの__construct()に
foreach($_POST as $key=>$val){
$_POST[$key] = mb_convert_encoding($val,"UTF-8","auto");
}

を足したらauからもイけるかもしれません。
 

controllerいじってもダメでした。

2010年5月25日 at 13:39
試してみましたが、controllerを修正してもダメでした。
でも、/concrete/blocks/form/view.phpのformタグに
accept-charset="<?php echo APP_CHARSET?>"

を追加したらauからも正常にフォームを送信できました。
ただ、どれくらいの機種がこの属性で対応してくれるかは不明です。
 

Re: Re: 基本携帯対応していないんで...

2010年5月25日 at 13:15
上級者向けですが、私がしていることは、

Kinoさんの携帯ハックを使い、テーマを携帯向けに強引に変更していますが、その時に、お問合せ用ページタイプを作成し、同名のページタイプ用phpを作成。

そして、PC用の普通のページタイプは普通に作成します。

携帯用テーマでは、新しいエリアを作成し、PC用のエリアを隠します。

そして、そのエリアに記事ブロックで普通にメールアドレスへのリンクを作成します。

こうすることによって、PCユーザーはフォームを見ることが出来、携帯ユーザーはメールアドレスへのリンクになります。