[PHP-users 3196] chunk_split()での日本語文字化け

Masato Hashiyama php-users@php.gr.jp
Tue, 30 Oct 2001 20:30:45 +0900


本日入会させて頂きました橋山と申します。

メール送信の際に chunk_split() を利用して、文字列を特定の長
さに区切ろうと考えていますが、日本語の中に半角英数カナが奇数
入ると、その後の文字がすべて化けてしまいます。

同様にsubstr()でも、最後の文字が文字化けするときがあります。

何か対処法と言うものがあればと考えていますが、ご存知の方いらっ
しゃいましたらご教授いただけますと幸いです。

PHP Version 4.0.4pl1

--以下ソース--
function euc2jis($date){
	$tmp = tempnam("/tmp", "xxx");
	$fp = popen("/usr/bin/nkf > $tmp", "w");
	fputs($fp, strip_tags($date));
	pclose($fp);
	$date = implode(file($tmp), "");
	return $date;
}
$body = euc2jis(chunk_split($body,60));
mail($mail,$subject,$body,$header);