3

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

       <?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变量设置为 ØµØ¯Ø§Ø 未知字符,因此我无法在搜索过程中使用此参数值。

任何人都可以帮忙吗?谢谢你。

4

1 回答 1

0

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

于 2016-07-14T13:23:33.280 回答