From 1dc98e706767c8b41f70f3f34d827ec75a9dfb62 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Sun, 24 Apr 2016 21:01:44 +0200 Subject: [PATCH] Improve encoding detection --- controller/lib/bookmarks.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/controller/lib/bookmarks.php b/controller/lib/bookmarks.php index d58ab1d1..f3283939 100644 --- a/controller/lib/bookmarks.php +++ b/controller/lib/bookmarks.php @@ -553,7 +553,9 @@ class Bookmarks { $page = ""; try { - $page = \OC::$server->getHTTPHelper()->getUrlContent($url); + $request = \OC::$server->getHTTPClientService()->newClient()->get($url); + $page = $request->getBody(); + $contentType = $request->getHeader('Content-Type'); } catch (\Exception $e) { throw $e; } @@ -561,8 +563,11 @@ class Bookmarks { //Check for encoding of site. //If not UTF-8 convert it. $encoding = array(); - preg_match('/charset="?(.*?)["|;]/i', $page, $encoding); - + preg_match('#.+?/.+?;\\s?charset\\s?=\\s?(.+)#i', $contentType, $encoding); + if(empty($encoding)) { + preg_match('/charset="?(.*?)["|;]/i', $page, $encoding); + } + if (isset($encoding[1])) { $decodeFrom = strtoupper($encoding[1]); } else {