Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana]Simple Modeler - polskie znaki
henio
post 11.07.2009, 10:52:23
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Napisałem kontroler i model odpowiedzialne za dodanie rekordu do bazy danych. Kiedy wpisuje np "Testy" to wszystko we właściwy sposób się dodaje. Natomiast kiedy wpiszę np "Teścik" Wówczas pojawia się:
Kod
Wystąpił błąd SQL: Data too long for column 'tresc' at row 1 - INSERT INTO `heniek_shoutbox-adm` (`id_uzytkownik`, `data`, `tresc`) VALUES ('1', '2009-07-11 11:50:55', 'TeÅ�cik')


Kontroler:
  1. <?php
  2. class Shoutbox_Controller extends Glowna_Controller {
  3.  
  4.    public function __construct()
  5.    {
  6.    parent::__construct();
  7.    $this-> session= Session:: instance();
  8.    }
  9.  
  10.    public function index()
  11.    {
  12.        if(Simple_Auth::instance() -> logged_in())
  13.        {
  14.        $post = new Validation($_POST);
  15.        $post -> pre_filter('trim')
  16.              -> pre_filter('htmlentities')
  17.              -> add_rules('tresc', 'required', 'length[3, 200]');
  18.            if($post -> validate())
  19.            {
  20.            $username = Simple_Auth::instance()->get_user();    
  21.            $shoutbox = Simple_Modeler::factory('Admin_Shoutbox_Dodaj');
  22.            $shoutbox -> id_uzytkownik=$username->id;
  23.            $shoutbox -> data=date(&#092;"Y-m-d H:i:s\");
  24.            $shoutbox -> tresc=$post['tresc'];
  25.            $shoutbox -> save();
  26.            Session :: set_flash('shoutbox_error', Kohana :: lang('shoutbox.ok'));
  27.            }
  28.            else
  29.            {
  30.            Session :: set_flash('shoutbox_error', Kohana :: lang('shoutbox.error'));
  31.            }
  32.        }
  33.    url :: redirect('adm/glowna');
  34.    }
  35. }
  36. ?>


Model:
  1. <?php
  2. class Admin_Shoutbox_Dodaj_Model  extends Simple_Modeler {
  3.  
  4. // Database table name
  5.    protected $table_name = 'shoutbox-adm';
  6.  
  7.    protected $auto_fields = FALSE;
  8.  
  9.    protected $data = array('id_uzytkownik' => '',
  10.                            'data' => '',
  11.                            'tresc' => '');
  12. }
  13. ?>

Dodam, że metoda porównywania napisów to: utf8_unicode_ci

Ten post edytował henio 11.07.2009, 10:59:42
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:07