[PHP-users 3091] Re: htmlentities on ver 4.0.6
Akihiro Sagawa
php-users@php.gr.jp
Wed, 24 Oct 2001 17:43:29 +0900
こんにちは。佐川です。
以下の引用部分は'mo'さんの
"[PHP-users 3081] htmlentities on ver 4.0.6"からのものです。
>こんにちはは鈴木です。
こんにちは。
ソースを示されていないので、具体的なコードは推量によるところが大きいので、
外されていたらごめんなさい。
>php3で運用していたファイルの一部を更新するにあたり、
>新規のものをphp4でアップした。
>
>このファイルでは、コンテンツをPostgreSQLから拾い、(メールの本文に使用する為
>に)
>htmlentitiesで変換し、文字コードをJISに変え、mail関数に入れるというもの。
PHP3-18nにおけるmail関数は、PHP4+mbstringの環境ではmb_send_mail
(PHP4+jstringではjstr_send_mail)という関数で提供されています。
PHP4移行時に変更されましたか?
>(PostgreSQLにはhtmlspecialcharsを利用してからデータ登録している。同じく今回
>php4に変更。)
あと、データ登録時にhtmlspecialcharsで変換して、
メール本文に使うのにまたhtmlentitiesを使うと、
二重にエンコードされてしまう気がします。
そもそもメール本文には、htmlspecialchars等での変換は不要と思われます。
まあ、確かにhtmlentitesはマルチバイト文字に対応していませんが、
# 特にiso-2022-jpやEUC-jpに対して使うと悲惨。
htmlentitesを疑うならば、
htmlentitesの前後で、文字列がどのように変化しているかを、
(メールするのではなく)出力して確認してみてはいかがでしょうか?
では。
☆・・・・‥‥‥‥‥‥…‥‥‥‥‥‥・・・・
佐川 昭宏 mailto:sagawa@sohgoh.net
http://pelican.sohgoh.net/
・・・・‥‥‥‥‥‥…‥‥‥‥‥‥・・・・☆