操作
Bug(バグ) #3383
完了mail_to 関数を用いるときに空白が + に変換されてしまう
開始日:
2013-08-09
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Yes (はい)
説明
概要¶
mail_to 関数を用いるときに空白が + に変換されてしまう.
mailto スキームを用いる場合は + ではなく %20 にすべきだが, symfony の UrlHelper では urlencode() を用いるため + に変換されてしまい,空白が + で表示されてしまう.
http://www.ietf.org/rfc/rfc2368.txt
修正案¶
diff --git a/lib/vendor/symfony/lib/helper/UrlHelper.php b/lib/vendor/symfony/lib/helper/UrlHelper.php index d0bc4c1..4995c49 100644 --- a/lib/vendor/symfony/lib/helper/UrlHelper.php +++ b/lib/vendor/symfony/lib/helper/UrlHelper.php @@ -498,7 +498,7 @@ function mail_to($email, $name = '', $options = array(), $default_value = array( $default = array(); foreach ($default_tmp as $key => $value) { - $default[] = urlencode($key).'='.urlencode($value); + $default[] = rawurlencode($key).'='.rawurlencode($value); } $options = count($default) ? '?'.implode('&', $default) : '';
操作