使用codeigniter-为什么欧洲字符不能正确显示?

问题描述

| 当我将带有特殊字符的字符串传递到视图时,特殊字符显示为问号,例如:
$data[\'make\']  = \'Quels pneus Dunlop avez-vous acheté ?\';

$this->load->view(\"form\",$data);
在我看来,这如下所示: 当我直接在HTML页面中键入字符时,它们会正常显示。我该如何解决这个问题? 编辑:字符集已经设置为:
<Meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
    

解决方法

使用codeigniters ascii_to_entities函数可以解决问题。
$this->load->helper(\'text\');
ascii_to_entities($string);
    ,看起来可能是字符集冲突。使HTML字符集声明为UTF8,然后将数据另存为UTF8,保存在数据库或文本文件中。 在您的
<head>
标签中:
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
如果使用ѭ5output输出数据变量,则也可以考虑在其中指定字符集。
echo htmlentities($str,ENT_COMPAT,\'UTF-8\');
    ,将您的视图页面另存为utf8即可完成工作