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

PHP发布了具有复杂字符的数据,php,codeigniter,Php,Codeigniter,我有一个登录页面,用户在其中输入用户名和密码。当用户输入复杂字符(例如 12@#$%432^&*;',89/-*+_' it change to: 12@#$%C2^&*;',89/-*+_' 用户无法登录 这是获取数据的控制器 if ($_POST) { $name = trim($this->input->post('name')); $pass = trim($this->input->post('pass')); }

我有一个登录页面,用户在其中输入用户名和密码。当用户输入复杂字符(例如

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>
找到了它
在目录中
system/application/config/config.php
xss过滤是正确的

$config['global_xss_filtering'] = true;
所以我把它改成

$config['global_xss_filtering'] = false;

现在它工作得很好

我们必须看到一些代码…似乎
%43
已转换为
%C
。可能是urlencode。