picalやmyalbum、いつも快適に使わせていただいております。
実は昨年末に契約しているレンタルサーバーでPHPのバージョンアップが実施されて以来、myalbumで文字化けの不具合が発生するようになってしまいました。
文字化けと言いましても、既にレコードに登録されているタイトルや説明文は正しく表示されています。
しかし、新規登録や、情報の修正をしようとすると、2バイト文字が「??」のようになってしまいます。
ただし、全ての2バイト文字が化けるのではなく、例えば、
「文字化け検証」 → 「??」
「テスト文字化け」 → 「テスト文字化け」 正常に表示されます。
いろいろ試した結果、先頭にカタカナがあれば、文字化けしないという不可解な現象に悩まされています。
応急処置として、
//$title = $myts->stripSlashesGPC( $_POST["title"] ) ;
//$desc_text = $myts->stripSlashesGPC( $_POST["desc_text"] ) ;
$title = $myts->makeTboxData4Save( $_POST["title"] ) ;
$desc_text = $myts->makeTareaData4Save( $_POST["desc_text"] ) ;
のようにしております。これであれば、どのような2バイト文字も正しく扱われます。
PHPのバージョンは、4.4.4 です。
myalbumのバージョンは、 2.87 ; // = 2.90 - 0.03 (beta1) です。
レンタルサーバーは、Speever です。
問題解決の参考になるような情報がありましたら、宜しくお願い致します。
自己解決できたかも知れません。
php.ini 及び、.htaccess の設定は真っ先に確認したつもりだったのですが、再度調整してみました。
最終的に、php.ini はプロバイダの設定に戻し、.htaccessを次のようにしてみました。
php_flag register_globals Off
php_value session.use_only_cookies 1
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input auto
php_value mbstring.http_output pass
php_flag mbstring.encoding_translation On
php_value mbstring.detect_order auto
php_value mbstring.substitute_character none
php_value output_handler none
これで、回避できたようです。お騒がせいたしました。