こんにちは、モリモルです。
PHPですでに動いているサイトを
別サーバーに移行したときに、文字化けで困った対応メモ。
■問題点
フォームに入力した文字が確認画面で文字化けする。
■解決方法
http://www.beny.to/2008/05/mbstringencoding-translationon.html
↑
おお、これだ!
「mbstring.encoding_translation」は「Off」にすればいいのね。
「mbstring.encoding_translation」は
ini_set()で変更できないのか、php.iniかhtaccessでやるのか。
htaccessだと、
「mbstring.encoding_translation Off」て書くのね。
あれれ、、htaccessで「Internal Server Error」が。。
CGI版PHPを利用する場合、.htaccessにて"php_value"、"php_flag"を利用して PHPの各種設定ができないんだ。
phpinfo();でみると、「Server API」項目が「CGI」じゃん。
ああ、このレンタルサーバーはCGI版なのですね。
お、CGI版だと、php.iniを設置できるのか。
「mbstring.encoding_translation 0」と書いたphp.iniを置いたら文字化けが解消されました。
試してないけど、htaccessで、php.iniの場所を指定できるみたい。
--------------------------------------------------------------
suPHP_ConfigPath /usr/home/morimoru/html/
以上、メモだからいいや。
2011年5月28日土曜日
2009年7月28日火曜日
マルチバイト文字の設定
こんにちは、モリモルです。
マルチバイト文字関数の設定をphp.iniではなく、アプリ実行時にやっているのですが、よくよく忘れる設定のメモ。
mb_internal_encoding → mb_strlen とか
mb_regex_encoding → mb_ereg とか
mb_detect_order → mb_detect_encoding
マルチバイト文字関数の設定をphp.iniではなく、アプリ実行時にやっているのですが、よくよく忘れる設定のメモ。
mb_internal_encoding → mb_strlen とか
mb_regex_encoding → mb_ereg とか
mb_detect_order → mb_detect_encoding
2009年7月14日火曜日
mod_rewriteムズカシ
こんにちは、モリモルです。
mod_rewriteで、アクセス対象ファイルがある場合はルールを摘要しないみたいなのは、以下のようなるのですが、それがVirtualHostディレクティブでうまく動作しなかった際のメモ。
以下のようにしたらうまくいきました。
mod_rewriteが複雑で理解できてません。。
上記も間違っててるかも。。とりあえず動いたのでよしとします。うん。
mod_rewriteで、アクセス対象ファイルがある場合はルールを摘要しないみたいなのは、以下のようなるのですが、それがVirtualHostディレクティブでうまく動作しなかった際のメモ。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([0-9A-Za-z_]+)/([0-9A-Za-z_]+)/(.*)$ /index.php?c=$1&a=$2 [QSA,L]
以下のようにしたらうまくいきました。
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ $1 [L]
RewriteRule ^/([0-9A-Za-z_]+)/([0-9A-Za-z_]+)/(.*)$ /index.php?c=$1&a=$2 [QSA,L]
mod_rewriteが複雑で理解できてません。。
上記も間違っててるかも。。とりあえず動いたのでよしとします。うん。
2009年6月26日金曜日
__autoloadとPEAR Pagerでコケる
こんにちは、モリモルです。
smarty->cakePHP1.1->ruby->rails->cakePHP1.2->smartyという流れでsmartyに戻りました。
さて、ページ送りをつけるのに、cakeではPaginationなる便利なものがあるのですが、
フレームワークが使えないので、PEAR Pagerを利用してます。
アプリ全体で、__autoloadを利用していると、Pager::factoryで「Pager_Sliding.phpが見つからないよ!」とエラーになります。
Pager.phpのclass_existsの第二引数にfalseを入れて、__autoloadを抑制するとうまくいくようです。
smarty->cakePHP1.1->ruby->rails->cakePHP1.2->smartyという流れでsmartyに戻りました。
さて、ページ送りをつけるのに、cakeではPaginationなる便利なものがあるのですが、
フレームワークが使えないので、PEAR Pagerを利用してます。
アプリ全体で、__autoloadを利用していると、Pager::factoryで「Pager_Sliding.phpが見つからないよ!」とエラーになります。
Pager.phpのclass_existsの第二引数にfalseを入れて、__autoloadを抑制するとうまくいくようです。
if (!class_exists($classname, false)) {
include_once $classfile;
}
登録:
投稿 (Atom)
