2013-09-25 4 views
0

В проекте у нас есть форма с полями input и textarea. Это многоязычный проект, и если какой-либо текст переведен на немецкий язык, использование таких символов, как ü и ö, очень распространено.

В прошлом у нас никогда не было проблем с сохранением и извлечением данных из базы данных. Мы используем сопоставление utf8_general_ci в наших таблицах.

Сегодня мы получили странное поведение при отправке формы. Все специальные символы, введенные в поля input, как представляется, исчезают.
(Они даже пошли в $ _POST [ «поле_формы»], сначала мы думали, что это было что-то делать с входным классом CodeIgniter в)

Однако любые специальные символы, введенные в textarea находятся в $_POST массиве ..

У кого-нибудь была эта проблема раньше?

+1

Можете ли вы подтвердить, что вся ваша цепь UTF-8? (метатеги, SET NAMES и т. д.) – Halcyon

+0

Вы проверили сопоставление отдельных столбцов в таблице. Иногда его можно настроить как отличный от таблицы. например можете ли вы вставлять символы непосредственно из запроса базы данных? Если вы можете это сделать, это сужает его на входе, а не в базе данных. –

+0

Индивидуальные колоны - это одна и та же сортировка. Метатеги устанавливаются в зависимости от языка, используемого во время pageload. Впервые я это видел. Не уверен, что так должно быть, но чувак, который работал здесь до меня, закодировал эту часть. Должен ли я изменить meta на utf8 для каждого языка? – Brainfeeder

ответ

-1

Добавить header('Content-Type: text/html; charset=utf-8'); в заголовок

+0

'htmlspecialchars' не является правильной функцией. 'htmlspecialschars' следует использовать, когда _ouputting_ в HTML; не вводятся в базу данных. – Halcyon

+0

@FritsvanCampen Я был слишком быстр, чтобы быть Mysql реальной escape-строкой –

+0

'mysql * _real_escape_string' ничего не делает с кодировкой, поэтому да, вы должны использовать его, но это не решит проблему OPs. – Halcyon

0

набор мета-тег в utf8 или изо-8859-1

<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"/> 
Смежные вопросы