2016-07-13 14 views
2

私は、ユーザーからの検索キーの入力については、以下のビュー・コードがあります:私は、検索アクションを以下しているコントローラで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変数はØμداØ未知の文字に設定されていますこのパラメータ値iを使用するn検索手順。

誰でも手助けできますか?ありがとうございました。

+0

結果のHTMLコードのヘッダ( -Tagの間のデータ)をブラウザに投稿できますか?ここではエンコードの問題があると確信しています。 – devOp

+1

奇妙なことに、奇妙な文字の問題が解決され、アラビア語のテキストがvar_dump関数で表示され、コントロールパネルの地域と言語のシステムローカル設定が変更されました。現行システムをアラビア国のローカルシステムに変更しました。しかし、私はそれが正しい解決策ではないと思うが、 –

+0

でもコントローラでテキストが正しく表示され、ストアドプロシージャはアラビア語テキストの結果を返さないので、私はmysql workbenchでアラビア語でその呼び出しをテストし、 、 手伝って頂けますか? –

答えて

0

私は以下のように私の問題の解決策を見つけました: 1)最初に私のPCのウィンドウズOSにシステムのローカル設定に問題がありましたので、私はそれをアラビアの国に変更しました。 2)2番目にsearch_procedureのINパラメータ型に問題があったため、varchar(20)に変更しました。

関連する問題