I downloaded a set of source code, using GB2312 page encoding.
Which calls the CKEditor and the background management of the Chinese processing is the use of Htmlspecialchars ($value) to filter out the HTML dangerous characters.
The problem is not sure how, after the Htmlspecialchars ($value) processing the Chinese is empty?
Later read the data said to call this:
Htmlspecialchars ($value, Ent_noquotes, "gb2312")
The problem is: I want to change, not to change a lot, and again, like CKEditor developers don't know the existence of this problem?
Urgent to find a simple solution, it is best not to change the source, there is a global setting or environment settings and so on, please help, thank you!
Reply to discussion (solution)
There is an encoding setting in php.ini, default_charset= "gb2312" trial
Tested, didn't find the problem you said
Besides, Htmlspecialchars is converting special characters to HTML entities, rather than filtering out HTML dangerous characters as you say
This function turns special characters into HTML string format (&....;)
This has nothing to do with Chinese, unless you pass in the time is garbled and so on. Let's check the content you passed in.
My machine is XP +EASYPHP5.4.0RC4
Run
"; echo" after processing: ". Htmlspecialchars ($STR);? >
Returns a true null value.
No other treatment has been made.
Easyphp5.4.0rc4
is PHP version 5.4 stupid?
It's not that extravagant, I'm still using php5.3.6.
If it's php5.4, please notify the PHP bug website of the error
The test discovery is correct and the return value is not a null value
My machine is XP +EASYPHP5.4.0RC4
Run
HTML Code
$STR = "111 Chinesecharacters ...";
echo "is output as. $str
";
echo "After processing:". Htmlspecialchars ($STR);
?>
Returns a true null value.
No other treatment has been made.
I saw that the integration environment is like this:
PHP 5.4.0RC4 VC9 Apache 2.2.21 VC9 MySQL 5.5.19 PhpMyAdmin 3.4.9 Xdebug 2.1.2
is a version of the issue. PHP 5.4.0RC4 VC9 should still be beta. There are many bugs. .
Landlord change a easyphp 5.3/easyphp 5.2 estimate on the line.
Well. I changed the 5.3. Yes, sure. Thank you.
You stereotypes look, but
php5.4 also encountered this problem:
$content = htmlspecialchars ($_post[' content ');
Add to
, Ent_compat, ' GB2312 '
After that, there's no more convenient way to find out
$content = htmlspecialchars ($_post[' content '],ent_compat, ' GB2312 ');
php5.5 problems still have to be complete parameters
php5.5 problems still have to be complete parameters Yes, php5.5, I also encounter similar problems, in the test with DIRCMS, backstage a look, the title is empty, in code lookup, found to be the problem of this htmlspecialchars function, how to do?