Smarty のmailtoでtextに日本語を指定した場合の文字化けを解消

| コメント(0)

たまには技術ネタも

表題の解決方法は次のとおり。

修正ファイルは

/Smarty/libs/plugins/function.mailto.php


104行目

$string = 'document.write(\'<a href="mailto:'.$address.'" '.$extra.'>'.$text.'</a>\');';

$string = 'document.write(\'<a href="mailto:'.$address.'" '.$extra.'>\');';

101行目

return '<script type="text/javascript">eval(unescape(\''.$js_encode.'\'))</script>';

return '<script type="text/javascript">eval(unescape(\''.$js_encode.'\'))</script>'.$text.'</a>';

1byte単位で暗号化してるので2byte文字だと文字化けしてしまうので。a要素の冒頭だけ暗号化するように変更してみました。

スポンサードリンク

「php」の関連記事

コメントする