タグ

ブックマーク / blog.cheki.net (2)

  • PHPとMySQLの個人的まとめ - ぱんぴーまっしぐら

    MySQLではまったこと MySQLの文字化け 今さら何いってんのコイツとかそこ言わない。 文字コードを確認するSQL文「SHOW VARIABLES LIKE ‘char%’;」 MySQL4.1以降はサーバとは別にクライアントの文字コードが設定されている。 クライアント、サーバ間で違う文字コードがセットされていると、一度ucs2変換を通る。 よって、クライアント、サーバ間で違う文字コードを指定することとなり文字化けが起こる可能性がある。 PHPはmy.cnfで[mysql]、[client]を設定しようがクライアントの文字コードはビルド時に指定されたキャラクタセット(通常latin1)。 my.cnfの設定 [mysql] default-character-set = utf8 [mysqld] default-character-set = utf8 mysqlクライアントからチェ

  • PHPでメールを送る – ぱんぴーまっしぐら

    PHPでのメール送信の場合、直接ポート叩いてくれとか言われた。 特殊な環境ではなく偉大なる先人がPHPのmail使えねとレッテルを貼ったようだ。 先人はそもそもmbstring関数まわりの扱いが間違っているんですが。 mb_send_mail マニュアルにあるとおり、mb_language()の設定に基づき変換されます。 「ja」、「japanese」を指定した場合「内部エンコードからISO-2022-JP」に変換され送信されます。 大体この関数に渡す前にmb_convert_encoding()でISO-2022-JPに変換して文字化け起こしてるケースがほとんど。 mb_encode_mimeheader 第二引数を省略した場合はmb_language()の設定に基づいて変換された上でヘッダ用にBASE64エンコードと文字列追加が行われます。 「ja」、「japanese」を指定した場合

    egg-rice
    egg-rice 2009/02/26
    mb_send_mailとmailの使い分けについて
  • 1