[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/
  ・・・・‥‥‥‥‥‥…‥‥‥‥‥‥・・・・☆