トラブル対応」カテゴリーアーカイブ

メールフォームから送信されたメールの本文が途中から文字化けする。

先日、XOOPSを大昔に導入させていただいたお客様から、相談がありました。
「メールフォームから送信してもらったメールの本文が途中からおかしくなってしまって・・・・・・」

保守から完全に離れたお客様だったので迷ったんですが、起こってる問題が問題だったので、勉強をかねて対応することに。

メールフォームの動きを調べるために、私が面倒くさがって改行をまったくしなかったメールが、途中からちらほらと文字化け。2回ほど一部分文字化けした後、全部文字化け。文字化けっていうか、%とか数字とかの羅列。これは見たことがある・・・・・・。

文字化けしているところに法則性がありそうだったので、何バイトで文字化けしてるのかを調べたりしてみて、ネットで検索するとこんな記事がありました。

mb_send_mail()関数に改行無しの長文を渡すと文字化け

どうも、改行なしだと1000バイトで改行コードが強制的に入れられるようです。(サーバによる?)
1000バイトも改行なしで入れられることがあるのかなぁとも思うんですけど、あるんですよね。

強制的に改行をしてやればいいんですけど、PHP側を触るとさすがに無償というわけにもいかないし。
HTMLのほうでなんとかならないかなぁと思って、<textarea>のタグにこれを加えることに。

「wrap = hard」

テキストエリアに文字を打ち続けると右端で勝手に折り返しますよね。普通はそこに改行コードは入らないんですけど、そこに改行コードが入るタグです。

ただし、ブラウザの独自機能のようです。IE8とFirefox3.5.5では確認済みです。

とりあえず、今できる範囲で対応いたしました。

ツꀀHTML/フォームtexterea要素のwrap属性について

mysql5.0.77 での文字化け

いつものうちの会社更新プログラムを、ふふふーんとサーバー移動でインストールしたら、データベースから引っ張った文字が文字化け!
他のサーバーと違うところっていったら、バージョンとかですが・・・・・・。

以前にもあったなぁ(mysqlバージョン 4.1.10a)と調べて、そのときの対応策をとりました。

CONNECTのタイミングで、

$dbh->do(“SET NAMES utf8”);

を入れる。これで解決。

調べているうちに、この$dbh->do(“SET NAMES utf8”);が一箇所じゃ収まらなかった例もあるみたいです。

MySQL 5.0.xの文字化け対策の試行錯誤(@うろぐ

MySQLのカラムの文字数

まさかありえないと思っていたことが起こるんだよ実際。
ということで、MySQLの文字数のこと。

そんなにいれるわけない。なんてことありえないんだよね。
とくにエディターが入ってると、タグがどんどんかさなっちゃったりして。

TINYTEXT:255 (2^8 – 1) bytes
TEXT:65,535 (2^16 – 1) bytes
MEDIUMTEXT:16,777,215 (2^24 – 1) bytes
LONGTEXT:4,294,967,295 (2^32 – 1) bytes

MySQL 文字数の制約(@storybook.mt)
ありがとうございました。

アイルのiCLUSTA[i-04]にWordPressをインストールでエラー

アイルのiCLUSTA[i-04]にWordpress2.8をインストールしようとしたら、Out of memoryのエラーが発生。
普通にsakuraのサーバーでバージョンアップできたから、まさかできないとは思わなかった。

オプションに、メモリ増設というのがあって、wordpressは1つ(10MB)を推奨するとあった。

実際にアイルに問い合わせると、メモリ増設でwordpress2.7.1の動作確認されているとのことです。
ちなみに、メモリ使用量は初期の状態では、約20MBらしいです。

で、いろいろと調べていて、ちょっとずつバージョンを下げてテストしていたら、こんなありがたい記事発見。

iCLUSTAにCMSをつっこんでみた際の覚え書き(追記) (@textbox.jp

ありがとうございますー。

(追記 2009.6.30)
オプションで10MB追加することでインストールできました。

URL file-access is disabled in the server configurationのエラー

お客様のサイトのトップページに、いつからかエラーが表示されます。
URL file-access is disabled in the server configuration みたいなところ。
どうも、includeが効いていないような?

調べてみたら、PHPのバージョンがアップし、allow_url_fopenがOffに。
バージョン3.4.3より、allow_url_fopenはPHP_INI_SYSTEMで、htaccessでの設置も不可能。
セキュリティのためとはいえ・・・・・・サーバーで変更しないとだめか。

[参考にさせていただきました]
PHP の設定のうち、allow_url_fopen を .htaccess レベルでオフにしたいのですが、…(@はてな
allow_url_fopen(@yohgaki’s blog様)