I am having the same problem while editing pages and blocks from the admin. Upon saving content containing characters like "é è ç à", the text just disappears and the whole textarea is cleared.
I'm not sure how to resolve this by myself. Any insight on the issue? Any help would be greatly appreciated.
I'm wondering if it has something to do with the safe_htmlentities() in MY_string_helper.php. I'll take a look at it in a bit, but if in the meantime, you are able to determine anything, let me know.
Actually, it looks like it's part of CodeIgniter. I've traced it to the Utf8 core class "clean_string" method. This get's called in the MY_Input _clean_input_data() method (MY_Input was created to fix an issue with line endings on Windows machine but has since been fixed in the core and will most like be removed in the next big release). The Utf8 method causing the issue is listed below. function clean_string($str)
{
if ($this->_is_ascii($str) === FALSE)
{
$str = @iconv('UTF-8', 'UTF-8//IGNORE', $str);
}
return $str;
}
That said, I'm not sure the best way to fix it at the moment, but will submit a bug report to the CI team to see what they say.
Comments
Upon saving content containing characters like "é è ç à", the text just disappears and the whole textarea is cleared.
I'm not sure how to resolve this by myself.
Any insight on the issue? Any help would be greatly appreciated.
1. Is this using CKEditor or markitUp! for the textareas?
2. What platform and browser are you using?
I don't know what is causing this but i can help debug.
I can switch php versions in mamp
- PHP Version 5.2.17 isn't affected by the bug
- PHP Version 5.3.6 is affected by the bug
If I log $_POST
- at top root index.php
-- [vars--content] => "éé"
- at controllers/pages.php/__construct()
-- [vars--content] => ""
So somewhere along the line it's stripped from $_POST.
function clean_string($str) { if ($this->_is_ascii($str) === FALSE) { $str = @iconv('UTF-8', 'UTF-8//IGNORE', $str); } return $str; }
That said, I'm not sure the best way to fix it at the moment, but will submit a bug report to the CI team to see what they say.
https://bitbucket.org/ellislab/codeigniter/issue/406/utf8-clean_string-method-removing#comment-597901