diff options
author | YAMAMOTO Takashi <yamachan@piwikjapan.org> | 2015-11-23 09:58:17 +0300 |
---|---|---|
committer | YAMAMOTO Takashi <yamachan@piwikjapan.org> | 2015-11-23 09:58:17 +0300 |
commit | f6b646f0b544d714be1cadfd10b3477d7e474691 (patch) | |
tree | 707f6e860c5a0d23b06308989f398de3aae2dd76 /plugins | |
parent | 51e87473bd799cf54cea75b4140898bfb0439187 (diff) |
PHP's function substr calls unreadable characters, because it cuts multibyte characters without boundary. And MySQL's varchar has a number of multibyte characters - not bytes.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/Referrers/Columns/ReferrerName.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/plugins/Referrers/Columns/ReferrerName.php b/plugins/Referrers/Columns/ReferrerName.php index 7bdb0732a6..9f3d122bdf 100644 --- a/plugins/Referrers/Columns/ReferrerName.php +++ b/plugins/Referrers/Columns/ReferrerName.php @@ -38,10 +38,12 @@ class ReferrerName extends Base $information = $this->getReferrerInformationFromRequest($request); if (!empty($information['referer_name'])) { - - return substr($information['referer_name'], 0, 70); + if (function_exists('mb_substr')) { + return mb_substr($information['referer_name'], 0, 70, 'UTF-8'); + } else { + return substr($information['referer_name'], 0, 70); + } } - return $information['referer_name']; } |