カテゴリ | |
サマリ | 日本語ページ名の編集・新規作成ができない |
バージョン | 1.4.7 |
投稿者 | 塩原 |
状態 | 完了 |
投稿日 | |
php設定ファイル(C:\WINDOWS\php.ini)を下記のように変更することで、
本現象を回避することはできました。
- 変更前: mbstring.http_input = auto
- 変更後: mbstring.http_input = pass
しかし、この設定変更を行うと、他にも実装しているWebアプリに文字化けの
影響が出てしまうので、Pukiwikiにだけ本現象を回避する設定をしたいと考
えています。
そこで、下記URLの情報をもとに、Windows レジストリを編集してディレクトリ毎
にPHP の設定を変更する方法を試してみたのですが、設定が反映されずうまく
いきませんでした。(ちなみにphpinfo.phpで確認したところ、"Local Value"はpassに変わっていました。)
http://php.benscom.com/manual/ja/configuration.changes.php
この方法で設定を有効にするために何か見落としていることなどありますでしょうか?
また、別のアプローチ方法などがありましたら教えてください。
よろしくお願い致します。
[環境]
Windows 2003 server (日本語OS)
IIS 6.0
PHP 5.1.4
Pukiwiki 1.4.7
- .htaccess とか ini_set()とか。検索すれば出てきます。質問箱/2051 --
- 情報ありがとうございます。
試してみたのですが、残念ながらどちらも効果はありませんでした。
phpinfo()でも確認しましたが、設定は反映されていませんでした。
ちなみに、
「.htaccess」の方法では、~\pukiwiki-1.4.7\.htaccessのファイル
に下記の2行を追加しました。
php_flag mbstring.encoding_translation off
php_value mbstring.http_input pass
「ini_set()」の方法では、~\pukiwiki-1.4.7\lib\init.phpのファイル
に下記の2行を追加しました。
ini_set("mbstring.encoding_translation", "Off");
ini_set("mbstring.http_input", "pass");
また、新たに発見したことがありましたので、情報を追加アップします。
半角カタカナで入力すると、日本語名のページが作成できました。
以下、実例を挙げます。
- "コヌソキ"と入力すると"最新"という日本語ページ名が。
- "コヌ"と入力すると"最"という日本語ページ名が。
- "・レ。シ・ク"と入力すると"ページ"という日本語ページ名が。-- 塩原
- もしや、ページ新規作成では、「編集」ボタンを押すとPOSTではなくGETで値を渡している!? -- 塩原
- 自己解決できてしまったかもしれない。当初の方法とは、違う方法だけれども。init.phpの260行目に"mb_convert_variables(SOURCE_ENCODING, "SJIS", $_GET);"を挿入したら、うまくいったようだ。応急処置的な感は否めないので、これによる影響範囲が気になる。 -- 塩原
- 原因は何でしょうね? --
- IIS はデフォルトで.htaccess を使えない(Apache 用の設定ファイルだから)という事と、
mbstring.encoding_translation 設定はphp.ini, .htaccess, または httpd.conf でしか設定できない(Windows レジストリを使っても設定の変更ができない)という事、が問題だったのでは? --
- 通りすがりの報告ですが、日本語ページ名の問題と同時に、
ファイル名が日本語の画像が添付できても参照できなかった問題も、ついでに解消しました。ありがとうございました。
Windows 2000 server (日本語OS)/IIS 5.0Apache2.0.59/PHP 5.2.3/Pukiwiki 1.4.7で
php設定ファイル(C:\php\php.ini)をmbstring.http_input = passに書き換えました。 -- ichi