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) 最初に私の PC Windows OS のシステム ローカル設定に問題があったので、それをアラビア語の国に変更しました。2) 2 つ目は、search_procedure の IN パラメータ タイプに問題があったため、varchar(20) に変更しました。

于 2016-07-14T13:23:33.280 に答える