[PHP-users 5335] 文字化けについて

【雑貨生活】 千脇善久 php-users@php.gr.jp
Sun, 10 Feb 2002 03:26:44 +0900


千脇です。
はじめまして。

フォームから文字を入力し送信、DBに追加した後、確認のメールを
するというプログラムで文字化けに悩んでいます。

例えば、「代表」の場合、メールで届く文章は
「代表\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\」
となってしまいます。

メタ文字を含んでいるためだと考え、下記の様々な方法で
試みましたが、いずれも、「代表\\\\\\\\\\\\\\\」とはなるのですが、
完全に「\」を取り去ることができません。

ereg_replace(sprintf("([%c-%c%c-%c]\\\\)\\\\",0x81,0x9f,0xe0,0xfc),
 "\\1",$quote_str);

stripslashes関数

$str = rawurlencode(urldecode($str));
$str = ereg_replace("%5C%5C","%5C",$str);
$str = rawurldecode($str);

内部コードはEUCですが、i18n_http_outputでSJISに設定して出力
しています。

また、環境は
FreeBSD
PHP4: 4.1.0です。