|
|
留言问题,经实际测试,发现reppoststr函数传入中文字符时,返回的中文都被过滤掉的问题,也就是说,PHP 5.4 中,经 htmlspecialchars 转义后的中文字符串为空。
1 ?8 v" s0 C! P0 X9 ^2 p, S& j% ^9 a2 g, w' `
修改 functions.php 和 q_f8 G h1 d0 u ?& i1 J
9 D: f" R( D6 I- C7 D) Y5 Vunctions.php, 函数体改为以下形式即可 A& p8 q* ~- \7 J, L; r. v. Z0 H0 X
function reppoststr( $val )
# \/ K5 e1 b0 p{
( l. s5 r, ~8 \7 u$val = htmlspecialchars( $val, ENT_COMPAT ,’GB2312′);- ?; S/ D" V! i- a, ~
return $val;5 ?9 t( e( E$ @ `' j, O' ]
}3 h# U+ _) I l: a7 [# k- G
2 s' o( j- a* B3 G0 [; I+ {8 ?模板问题,修改相关函数为 htmlspecialchars(stripSlashes($r[cptemp]), ENT_COMPAT ,’ISO-8859-1′)
1 f. j- A D3 L5 n3 P. q6 ]1 u& Y% X3 r. h% L
很麻烦,恐怕还会因为此函数陆续发现更多问题。 |
|