-1

CodeIgniter でアラビア語の製品名をカートに挿入する際に問題が発生しました。Cart.classこれは、ライブラリ$product_name_rulesをオーバーライドすることで修正されました$this->cart->product_name_rules = "^."

これで問題なく動作しますが、別の問題があります。$db['default']['char_set'] = 'utf8';データベース構成ファイルで設定した場合にのみ機能します。当然、これはデータベースからのすべての文字列を ???? として返します。その utf8 を utf-8 に変更すると、取得した情報が正しく表示されるようになりますが、カートが機能しなくなります。

何をすべきか?ここに画像の説明を入力

ここに画像の説明を入力

カートの動作 (データベース構成の utf-8) またはアラビア語の動作 (データベースの utf8) のいずれかです。

4

2 に答える 2

0

アラビア語の製品名を格納しているテーブル列の照合を確認しましたか?その照合を utf8_general_ci またはアラビア文字に適したものに変更できます

于 2012-11-24T19:14:09.280 に答える
0

CI がセッション用に使用するテーブルがあります。テーブルの照合順序は UTF8 に設定されていますが、列自体はそうではありません。そのため、ショッピングカートから選択した場合、データは ??? として保存されます。ユニコードじゃないから その照合をユニコードに変更し、完全に機能しました。

于 2012-11-29T04:25:08.960 に答える