我将类似'测试'的值传递给我的表单,然后通过执行此操作来获取值:
$this->input->post('field_name');
我发现我无法取回'测试'的价值,我一无所获。
我的版本是2.0.2,$config['charset'] = 'UTF-8';
如果我echo('測試')
,则没有问题。
拉丁字符有效,打印效果很好。我该如何解决?
代码来自表格:
表格
<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>
控制器:
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);
}
观点:
<?php echo $field_name?>
答案 0 :(得分:2)
我已通过将配置文件字符集值更新为简单字母来解决此问题。
之前
$config['charset'] = 'UTF-8';
我改为:
$config['charset'] = 'utf-8';
现在效果很好。
答案 1 :(得分:0)
我终于解决了,你需要 在发布之前使用javascript encodeURI函数来编码数据。
答案 2 :(得分:0)
在配置文件中设置charset,如下所示 -
$config['charset'] = 'utf-8';
然后在页面顶部使用以下标题,您需要在该页面中显示/打印/输入您的unicode文本 -
header('Content-Type: text/html; charset=utf-8');
您也可以将此标题一般设置到索引页面中。