Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't I read input values with Chinese characters in Codeigniter?

I pass a value like '測試' to my form, and I get back the value by doing this:

$this->input->post('field_name');

I find that I can't get back the '測試' value, I get nothing.

My version is 2.0.2, and the $config['charset'] = 'UTF-8';

If I echo('測試'), there is no problem.

With Latin characters it works, and prints perfectly. How can I solve it?

Code From the form:

The form

<form target="sc_light_box" action='http://localhost:8888/my_project/index.php/data/add_data.php' method="post">
<textarea id="field_name" name="field_name"/>
<input type="submit" id="submit_button">
</form>

The controller:

public function add_data()
{
       $this->_load_add_data_page();    
}  


private function _load_add_data_page()
{   
    $this->load->library('form_validation');  
    $this->load->library('table');
    $this->load->helper('form'); 

    $data['field_name']              =$this->input->post('field_name');


    $this->load->view('add_data_page_view', $data);    
} 

The view:

      <?php echo $field_name?>
like image 725
DNB5brims Avatar asked Nov 05 '22 16:11

DNB5brims


1 Answers

I have resolved the issue by updating the config file charset value to simple letters.

Before it was

$config['charset'] = 'UTF-8';

and I changed it to :

$config['charset'] = 'utf-8';

Now it works well.

like image 119
Raftalks Avatar answered Nov 10 '22 18:11

Raftalks