vividona Posted July 14, 2011 Share Posted July 14, 2011 hi, I have input form works fine. But when I change the encoding on the html from (utf- to (windows-1256). the form send empty characters. Link to comment https://forums.phpfreaks.com/topic/241959-post-send-empty-charachters-when-change-encoding/ Share on other sites More sharing options...
btherl Posted July 14, 2011 Share Posted July 14, 2011 Please post your code, and explain how you are checking that the form sends empty characters. Link to comment https://forums.phpfreaks.com/topic/241959-post-send-empty-charachters-when-change-encoding/#findComment-1242587 Share on other sites More sharing options...
vividona Posted July 14, 2011 Author Share Posted July 14, 2011 change encoding function public function langEncoding(){ require self::$BHLROOTDIR.'/settings.php'; $BhlDB = new BHL_DB($maserServer['DbHost'], $maserServer['DbUser'], $maserServer['DbPass'], $maserServer['DbName']); $langEcoding = new Load(); $checkEncoding = $langEcoding->loadSettings($langEcoding->sanitStr('lang')); if($checkEncoding == $langEcoding->sanitStr('Arabic')){ $encoding = $langEcoding->sanitStr('windows-1256'); }else{ $encoding = $langEcoding->sanitStr('utf-8'); } return $encoding; } then call the function in charset echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset='.$sessInfo->langEncoding().'" /> <meta name="Keywords" content="'.$article->metaWords().'" /> <meta name="Author" content="BHL-SimpleTool is coded by Othman A. Taha" /> <meta name="Description" content="'.$article->metaDesc().'" /> <title>'.$article->siteTitle('Islamic Broadcasting Union').'</title> <link rel="stylesheet" href="themes/default/style.css" media="all" type="text/css" /> <script language="javascript" type="text/javascript" src="js/bbcodes.js"></script> <script language="javascript" type="text/javascript" src="js/smileys.js"></script> </head> Link to comment https://forums.phpfreaks.com/topic/241959-post-send-empty-charachters-when-change-encoding/#findComment-1242598 Share on other sites More sharing options...
vividona Posted July 14, 2011 Author Share Posted July 14, 2011 I am using filters public function sanitPostInput($runpost) { return filter_input(INPUT_POST, $runpost, FILTER_SANITIZE_SPECIAL_CHARS); } Link to comment https://forums.phpfreaks.com/topic/241959-post-send-empty-charachters-when-change-encoding/#findComment-1242618 Share on other sites More sharing options...
btherl Posted July 15, 2011 Share Posted July 15, 2011 I would try removing your input filter. It appears to strip "low" and "high" characters, which probably form part of your windows-1256 character set. In general you should perform encoding on output. You should do mysql encoding if storing to a mysql database, and HTML encoding if displaying on an HTML page. mysql_real_escape_string() and htmlspecialchars() are common functions to do those. Link to comment https://forums.phpfreaks.com/topic/241959-post-send-empty-charachters-when-change-encoding/#findComment-1242911 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.