PHP UFT8编码Internet Explorer问题

时间:2018-03-02 10:57:15

标签: php mysql google-chrome internet-explorer

我遇到以下问题: 目前,我正在使用在Apache服务器上运行的PHP的Yii2框架创建一个Web应用程序。我的网络应用程序在Gooogle Chrome上完全正常运行,但在Internet Explorer上我遇到了问题,UTF8 econded turkish特殊字符在下拉菜单中不显示也不可读。一旦包含特殊字符的选项出现,菜单将保持为空。

我创建了动态下拉菜单,用于读取MySQL数据库表中的值。在此表中,列中的值以包含特殊字符的土耳其语保存,并且排序规则设置为utf-8。

PHP框架的标题字符集以及网页的元数据都设置为utf-8,但Internet Explorer似乎很难配合编码。

我的下拉菜单代码如下:

<div class="feedback-view">

 <?php $form = ActiveForm::begin(); ?>

  <p><?php

      $sql = 'SELECT * FROM tbl_feedback';
      $feedbacks = app\models\Feedback::findBySql($sql)->all();
      $list = yii\helpers\ArrayHelper::map($feedbacks, 'name', 'name');
      echo $form->field($model, 'name')->dropDownList($list,   [
                                     'style'=>'width:300px',
                                     'prompt'=>'--Name select--',
                                     'class' => 'form-field',
                                     'onchange'=>'$.get("'.Yii::$app-
  >request->baseUrl.'" + "/index.php?r=feedback/test&name=" + $(this).val(),
                                                       function(data){

 $("#feedback_id").html(data);

                                                       }
                                        );'
                                      ]);

      ?>
      <input type="submit" value="submit">
    </p>
<?php ActiveForm::end(); ?>

任何提示或建议/提示都会受到高度赞赏,因为我真的遇到了这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

解决方案是使用http://php.net/manual/de/book.mysqli.php这个包并格式化utf8。在我使用为SQL设计的不同包之前,这对于包含特殊字母的字符编码不起作用。