PHP 发布的数据具有复杂的字符


PHP posted data with complex character

>我有一个登录页面,用户在其中输入用户名和密码,当用户输入复杂字符时,发布的数据会更改,例如

12@#$%432^&*;',89/-*+_'
it change to: 
12@#$%C2^&*;',89/-*+_'

用户无法登录

这是获取数据的控制器

if ($_POST)
 {
      $name = trim($this->input->post('name'));
      $pass = trim($this->input->post('pass'));
 }

这是 HTML 代码的一部分

     <input type="text" id="user_login" size="22" tabindex="10" class="input" onclick="this.value = '';" onfocus="if (this.value == 'username') {
   this.value = '';
   }" onblur="if (this.value == '') {
    this.value = 'username';
  }" 
name="name" value="<?php echo __t($dir_lang, 'user_login'); ?>">
<input type="password" class="input" size="22" tabindex="10" id="user_pass" size="22" tabindex="10" class="input" onclick="this.value = '';" onfocus="if (this.value == 'password') {
              this.value = '';
  }" onblur="if (this.value == '') {
         this.value = 'password';
  }" name="pass" value="<?php echo __t($dir_lang, 'user_pass'); ?>">
   <p>
     <input id="login-submit" value="<?php echo __t($dir_lang, 'logging_button'); ?>" tabindex="100" type="submit" />
       </p>

找到了在目录中系统/应用程序/配置/配置.phpXSS 过滤是真的

$config['global_xss_filtering'] = true;

所以我把它改成

$config['global_xss_filtering'] = false;

现在它运行良好