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. Quote 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. Quote 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> Quote 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); } Quote 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. Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.