4

データベースからの文字のエンコードに問題があります。私はwin1250エンコーディングでPostgresを使用していますが、core.phpに入れたものは何でも(現在、次のコード行があります):

Configure::write('App.encoding', 'iso-8859-1');

ときどき、データベースから奇妙な文字が表示されることがあります。たとえば、Č ではなく È です。正しいエンコーディングを取得するためにできることはありますか。

:データベースに対して何かを編集または変更することはできません。

4

2 に答える 2

10

http://book.cakephp.org/2.0/en/development/configuration.html#database-configuration (少しスクロール)encodingで説明されているように、データベース接続構成で正しいオプションを宣言するだけでよいと思います。

この特定の段落を見てください。

エンコーディング

SQL ステートメントをサーバーに送信するときに使用する文字セットを示します。これは、DB2 以外のすべてのデータベースのデータベースのデフォルト エンコーディングにデフォルト設定されます。mysql/mysqli 接続で UTF-8 エンコーディングを使用する場合は、ハイフンなしで「utf8」を使用する必要があります。


以前のプロジェクトで同じ問題(フランス語とスペイン語の名前で)があり、構成ファイル$defaultで次を接続に追加するだけで済みました。app/Config/database.php

'encoding' => 'utf8'

たぶん、utf8接続またはiso-8859-1あなたが言及したものが必要です。

于 2012-11-27T09:22:12.127 に答える
0

win1250エンコーディングはiso-8859-2(http://en.wikipedia.org/wiki/Windows-1250を参照)に似ているためiso -8859-1の代わりに試してみることをお勧めします。

于 2012-11-24T13:06:55.557 に答える