確認した不具合 
文字化け対策(その1) 
$xoops->asGroupware();のフォーラムの記事の方法 
- ルートに置いてある、phpstats.php, recphp. jsphpに追加 -> 実施済み
$ora=$date_G;
+$loaded=htmlspecialchars(addslashes(urldecode($loaded)));
- $loadedには$HTTP_REFERERが入る。つまり、どのURLから飛んできたかがわかるはず。あるいは、$_GET['NS_url']が入る。これは、何のことか不明(Netscape系の場合の処理かも)。
- この対策だけ実施した結果
- 訪問者詳細:閲覧ページでURLがデコードされるのでTopics(B-Wiki)のページ名がわかりやすい。ただし、ページ名によっては正確に該当ページへジャンプできない。
- 訪問者詳細:サーチエンジンのURLが文字化けしており、検索文字列が拾えていない。
- mainfunc, class, statsに追加 -> 実施済み
$nome=$name; //imposto il nome
+$nome=htmlspecialchars(addslashes(mb_convert_encoding(trim($nome), "UTF-8", "auto")));
+$domain=htmlspecialchars(addslashes(mb_convert_encoding(trim($domain), "UTF-8", "auto")));
+$query=htmlspecialchars(addslashes(mb_convert_encoding(urldecode(trim($query)), "UTF-8", "auto")));
+$resultPage=htmlspecialchars(addslashes(mb_convert_encoding(urldecode(trim($resultPage)), "UTF-8", "auto")));
- 検索エンジンへのリンク、登録時のエラーがなくなる?
- details.incの出力時にもう一度エンコードとhemlspecial?
- htmlspecialchars(addslashesの順番より、addslashes(htmlspecialcharsの方が良い?
- htmlspecialchars、urldecodeが、一部のサーチエンジンの検索ページに飛べない原因だと思うけど、この対策をしたからではないかも。 -- evinfo.org 2005-04-17 14:07:34 (日)
- mainfunc.ini.phpなどを変更したら、真っ白けになってしまった。 -- evinfo.org 2005-04-17 14:35:50 (日)
- しょうがないので、とりあえずこの文字化け対策をキャンセルして元に戻した。 -- evinfo.org 2005-04-17 16:18:21 (日)
- 真っ白けだった15時台は記録なし。上手く動いていなかったみたいだ。 -- evinfo.org 2005-04-17 16:20:07 (日)
縁にまつわるエトセトラ。。の記事の方法 
- これは、0.1.8用ですね。
- /inc/main_func.inc.php 165行目あたり コメントアウト後逆(はずす&する)に
// mb_strtolowr が使用可能な場合はコメントをはずす。 /Y
//$query = mb_strtolower($query,"EUC-JP");
// 多分日本語が化けると思うのでコメントアウトしておきます。 /Y
$query = strtolower($query);
- /inc/main_func.inc.php 383行目あたり "auto"を変更
$query = mb_convert_encoding($query,"EUC-JP","EUC-JP,UTF-8,SJIS,ASCII,JIS");
- /inc/main_func.inc.php 383行目あたり
いまいち文字化けが。。"EUC-JP"を入れるとエンコードエラーがでる?$query = mb_convert_encoding($query,"EUC-JP","
EUC-JP,UTF-8,SJIS,ASCII,JIS");EUC-JP消して
$query = mb_convert_encoding($query,"EUC-JP","UTF-8,SJIS,ASCII,JIS");
- /inc/main_func.inc.php 378〜383行目あたり
380〜382行のコメントアウトで確認してみたのですが、文字コードをうまく拾えていないmb_detect_order("UTF-8,EUC-JP,SJIS,ASCII,JIS,ISO-8859-1");
$query = urldecode($str);
//$enc = mb_detect_encoding($query);
//echo $enc." ".$query." <BR>";
//$query = mb_convert_encoding($query,"EUC-JP",$enc);
$query = mb_convert_encoding($query,"EUC-JP","UTF-8,EUC-JP,SJIS,ASCII,JIS,ISO-8859-1");
のがあってエンコーディングエラーがでる?
- details.inc.phpの$engineUrlから、htmlspecialcharsをはずしてみる。 -- evinfo.org 2005-04-17 22:06:50 (日)




コメント一覧