summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-09-14 17:51:33 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-09-14 17:51:33 +0200
commitc63b52738c85ed76c795e62f3238f6cc32cc0b55 (patch)
tree6e8fa81e9b5a6f174041c944801c61a9a5563d30 /lib
parentadc33811c3c9513ca56dfa5e57169a5a1df106db (diff)
parentda2e4e09d939f49a69cfcd0b3a450f0484f51ff9 (diff)
Merge branch 'utf8bug' of https://github.com/Alkarex/FreshRSS into Alkarex-utf8bug
Diffstat (limited to 'lib')
-rw-r--r--lib/SimplePie/SimplePie/Misc.php2
-rw-r--r--lib/lib_phpQuery.php2
-rw-r--r--lib/lib_rss.php2
-rw-r--r--lib/minz/Request.php4
-rwxr-xr-xlib/minz/dao/Model_pdo.php12
5 files changed, 14 insertions, 8 deletions
diff --git a/lib/SimplePie/SimplePie/Misc.php b/lib/SimplePie/SimplePie/Misc.php
index 5d7367f64..621f2c062 100644
--- a/lib/SimplePie/SimplePie/Misc.php
+++ b/lib/SimplePie/SimplePie/Misc.php
@@ -138,7 +138,7 @@ class SimplePie_Misc
foreach ($element['attribs'] as $key => $value)
{
$key = strtolower($key);
- $full .= " $key=\"" . htmlspecialchars($value['data']) . '"';
+ $full .= " $key=\"" . htmlspecialchars($value['data'], ENT_COMPAT, 'UTF-8') . '"';
}
if ($element['self_closing'])
{
diff --git a/lib/lib_phpQuery.php b/lib/lib_phpQuery.php
index 33ed8a011..4aefb70fe 100644
--- a/lib/lib_phpQuery.php
+++ b/lib/lib_phpQuery.php
@@ -3365,7 +3365,7 @@ class phpQueryObject
*/
public function text($text = null, $callback1 = null, $callback2 = null, $callback3 = null) {
if (isset($text))
- return $this->html(htmlspecialchars($text));
+ return $this->html(htmlspecialchars($text), ENT_NOQUOTES, 'UTF-8');
$args = func_get_args();
$args = array_slice($args, 1);
$return = '';
diff --git a/lib/lib_rss.php b/lib/lib_rss.php
index a7a5244f8..60e6d3358 100644
--- a/lib/lib_rss.php
+++ b/lib/lib_rss.php
@@ -48,7 +48,7 @@ function opml_export ($cats) {
$txt .= '<outline text="' . $cat['name'] . '">' . "\n";
foreach ($cat['feeds'] as $feed) {
- $txt .= "\t" . '<outline text="' . cleanText ($feed->name ()) . '" type="rss" xmlUrl="' . htmlentities ($feed->url ()) . '" htmlUrl="' . htmlentities ($feed->website ()) . '" />' . "\n";
+ $txt .= "\t" . '<outline text="' . cleanText ($feed->name ()) . '" type="rss" xmlUrl="' . htmlentities ($feed->url (), ENT_COMPAT, 'UTF-8') . '" htmlUrl="' . htmlentities ($feed->website (), ENT_COMPAT, 'UTF-8') . '" />' . "\n";
}
$txt .= '</outline>' . "\n";
diff --git a/lib/minz/Request.php b/lib/minz/Request.php
index bd5fcb95e..bde17f988 100644
--- a/lib/minz/Request.php
+++ b/lib/minz/Request.php
@@ -35,9 +35,9 @@ class Request {
if(is_object($p) || $specialchars) {
return $p;
} elseif(is_array($p)) {
- return array_map('htmlspecialchars', $p);
+ return array_map('htmlspecialchars', $p); //TODO: Should use explicit UTF-8
} else {
- return htmlspecialchars($p);
+ return htmlspecialchars($p, ENT_NOQUOTES, 'UTF-8');
}
} else {
return $default;
diff --git a/lib/minz/dao/Model_pdo.php b/lib/minz/dao/Model_pdo.php
index a101887d1..6efe5b30f 100755
--- a/lib/minz/dao/Model_pdo.php
+++ b/lib/minz/dao/Model_pdo.php
@@ -22,23 +22,29 @@ class Model_pdo {
*/
public function __construct () {
$db = Configuration::dataBase ();
+ $driver_options = null;
try {
$type = $db['type'];
if($type == 'mysql') {
$string = $type
. ':host=' . $db['host']
- . ';dbname=' . $db['base'];
+ . ';dbname=' . $db['base']
+ . ';charset=utf8';
+ $driver_options = array(
+ PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
+ );
} elseif($type == 'sqlite') {
$string = $type
. ':/' . PUBLIC_PATH
- . '/data/' . $db['base'] . '.sqlite';
+ . '/data/' . $db['base'] . '.sqlite'; //TODO: DEBUG UTF-8 http://www.siteduzero.com/forum/sujet/sqlite-connexion-utf-8-18797
}
$this->bd = new PDO (
$string,
$db['user'],
- $db['password']
+ $db['password'],
+ $driver_options
);
$this->prefix = $db['prefix'];