Здравствуйте.
Пытаюсь написать свой модуль для drupal 7, который добавляет данные из формы в таблицу бд.
Все работает если в форме пишу латинские символы, когда пишу кириллицу друпал ругается. Кодировку таблицы установил в utf-8_general_ci, через phpmyadmin.
Вот что пишет друпал:
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xD0\x98\xD0\xBD\xD1\x84...' for column 'city' at row 1: INSERT INTO {flats} (id, city, info) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 0 [:db_insert_placeholder_1] => Информация1 [:db_insert_placeholder_2] => Информация2 ) in add_flat_my_form_submit() (line 51 of /opt/lampp/htdocs/hotels/sites/all/modules/custom/add_flat/add_flat.module).
Код модуля:
<?php
/* Хук_меню*/
function add_flat_menu() {
$items = array();
$items['add_flat/form'] = array(
'title' => 'Форма добавления объявления',
'page callback' => 'add_flat_form',
'access arguments' => array('access content'),
'description' => 'Добавление объявления',
'type' => MENU_CALLBACK,
);
return $items;
}
// Вызов формы
function add_flat_form() {
return drupal_get_form('add_flat_my_form');
}
// Конструктор формы
function add_flat_my_form($form_state) {
// Поле формы "Населенный пункт"
$form['city'] = array(
'#type' => 'textfield',
'#title' => t('Населенный пункт'),
);
// Поле формы "Информация"
$form['info'] = array(
'#type' => 'textarea',
'#title' => t('Информация'),
);