2012-05-11 10 views
0

私のために働くZend Formを設定しようとしています。私は特定のデータベースオブジェクトの挿入と編集に同じフォームを使用しています。オブジェクトに名前があり、 "Ülo"という名前の新しいオブジェクトを簡単に作成できます。それはデータベースに正しく保存され、レポートに表示するためにフェッチすると、正しい "Ülo"が表示されます。問題はフォームにあります。編集フォームを開くと、name要素は空です。他のすべての要素が正しく表示されていて、「ü」を含むように変更した場合は空にもなります。フォーム要素ラベルでも同じことが起こります。 "ü"を含むようにラベルを設定すると、それ以上ラベルは表示されません。Zend Framework(ä、ö、üなど)のような特殊文字を表示しないフォーム - フォーム要素の値を空にします

たとえば、$name->setLabel('Nameü: ');の場合はラベルが表示されませんが、$name->setLabel('Name: ');に変更するとcorrecltyが表示されます。

私が$bcrForm->name->setValue('Ülo');と同じことは値を表示しませんが、それを$bcrForm->name->setValue('Alo');に変更すると正しく表示されます。

正しく表示するにはどうしたらいいですか?何らかの種類のレンダリング問題があるようです。

答えて

0

エンコードをチェックしましたか?スクリプトとビューのファイルの両方がUTF-8でエンコードされ、あなたのDBへの接続があまりにもUTF-8に設定されていることを確認してください

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
0

に...頭にこれを追加してみてください。

MySQLを使用している場合は、DB接続およびランニングopenningでUTF-8のデータを返すためにそれを強制:SET NAMES 'utf8'

をかとmysqliのを使用して:mysqli_set_charset('utf8');

0

私がチェックします:

  • ビューの文字セット
  • データベースcharset(バックエンド)
  • Zend_Db_Adapter charset
  • ファイルの文字セット

は、ビューの脱出方法は、UTF8の文字を期待するように設定されていると何か(つまりを取り除くことがあります。 singlebyte strange chars):

1

この1つは私のためにそれを解決する助け:

これらの設定は/etc/php5/apache2/php.iniと/etc/php5/cli/php.iniであることを確認してください:

default_charset = utf-8 
関連する問題