2012-01-18 3 views
2

Я разрабатываю приложение с помощью Codeigniter. В этом приложении я получил форму с пользовательскими данными. Все работает нормально, если пользователь отправляет форму только с символами A-Z, но если он использует , такие специальные символы, как ä, é, î, ø, ù, значение этого поля не отправляется на контроллер!Не удается отправить специальные символы в Codeigniter

Эта проблема сводит меня с ума. Я не могу понять, почему поле игнорируется? То же самое поле отлично работает с символами A-Z, как указано.

Update

В конфигурации я получил: $ конфиг [ 'кодировка'] = 'UTF-8'; Я делаю запрос POST.

Это мой Посмотреть код:

<?php echo form_open('accounts/save', 'name="theform"'); ?> 

<p><?php echo form_input('firstname', null); ?></p> 

<p><?php echo form_input('lastname', null); ?> 

<div id="button_green"> 

    <a href="javascript: submitform()">Save the data</a> 

</div> <!-- End of button_green --> 

<?php echo form_close(); ?> 

Update 2

После looong беседы с отличным @motto и @slavic сводилось к ошибке с PHP 5.3. 6 (который я использую).

Более подробную информацию о черепашки здесь: https://github.com/EllisLab/CodeIgniter/issues/261

Это линия вызывает проблему:

$ ул = @iconv ('UTF-8', 'UTF-8 // IGNORE', $ ул);

Line: 89 Файл: ядро ​​/ utf8.php

+0

Что вы config.php $ конфиг [ 'кодировка'] говорит? Каков метод формы (get/post)? – Slavic

+0

$ config ['charset'] = 'UTF-8'; Я делаю запрос POST. –

+0

Пожалуйста, добавьте ответы на эти вопросы к вашему сообщению: Какой у вас хостинг? Каковы коды вашего контроллера форм, просмотра и модели? – motto

ответ

1

Попробуйте (в нижнем регистре):

$config['charset'] = 'utf-8'; 
Смежные вопросы