Zend_Mailでの文字化け対策

Zend Framework 1.7のZend_Mailをメール送信ライブラリとして使おうとしたところ、差出人と宛先を日本語にしたら文字化けしやがった!!ほんまに、Zend Frameworkは、マルチバイト文字に弱いな…。(というのが俺の印象)

というわけで、文字化けを解消するため、Zend_Mail::setFromの修正。616行目くらい。

<?php
	if ($encodedName === $name && strpos($name, ',') !== false) {
		$format = '"%s" <%s>';
	} else {
		// $format = '%s <%s>'; // どちらにしても、""で囲むようにする
		$format = '"%s" <%s>';
	}
?>

それと、Zend_Mail::_addRecipientAndHeaderも。521行目くらい。

<?php
	if ($encodedName === $name && strpos($name, ',') !== false) {
		$format = '"%s" <%s>';
	} else {
		// $format = '%s <%s>'; // どちらにしても、""で囲むようにする
		$format = '"%s" <%s>';
	}
?>

とりあえず、これで解決っぽいです。
手間がかかるけど、作っちゃったから、使うかね~。


カテゴリー PHP, Zend Framework | タグ   | パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です