在Yii 1.x中输入带有CHtml格式的输入文本的阿拉伯语,返回未知字符

时间:2016-07-13 07:16:08

标签: php yii yii-chtml

我有来自用户的搜索键输入的以下视图代码:

       <?php echo CHtml::beginForm(Yii::app()->createUrl('home/search'),'get',array('accept-charset'=>'UTF-8', 
            'enctype'=>'multipart/form-data'));?>
                        <div class="search-box">
                            <div class="input-box left">
                                <input type="text" name="q" id="t-search" class="txt-box"
                                       placeHolder="<?php echo Yii::t('website', 'enter.search.keyword.here'); ?>"/>
                            </div>
                            <div class="left">
                                <input type="submit" id="b-search" class="btn main-bg" value="GO"/>
                            </div>
                        </div>
                        <?php echo CHtml::endForm();?>

在控制器中,我有以下搜索操作:

public function actionSearch($q)
{
    Yii::app()->theme = "website";
    $this->layout = '//layouts/main';
    $this->pageTitle = Yii::t('website', 'search.result');

    $result = Yii::app()->db->createCommand('call search_procedure('."'".$q."'".')')->queryAll() ;
    $this->render('search', array('result'=>$result));     
}

代码与英语完美配合,但如果我们在搜索操作中使用var_dump($q); exit();命令时想要使用阿拉伯语搜索,则$q变量设置为ØμداØ未知字符我无法在搜索过程中使用此参数值。

有人可以帮忙吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,如下所示: 1)首先我的电脑Windows操作系统中存在系统本地设置问题,因此我将其更改为阿拉伯国家之一。 2)第二,search_procedure中的IN参数类型存在问题,所以我将其更改为varchar(20)。