UTF-8 не работает в формах HTML - PullRequest
       6

UTF-8 не работает в формах HTML

6 голосов
/ 02 сентября 2010

У меня есть эта форма:

<form method="post" enctype="multipart/form-data" accept-charset="UTF-8">

Но когда я отправляю символ é, он превращается в Ã ©.

Почему это не работает? Да, в базе данных MySQL все наборы символов настроены правильно. (База данных, таблицы.) Если я вручную добавлю его в базу данных с помощью Navicat, он хорошо отобразится на веб-странице.

Кроме того, я попробовал метатег, задав заголовок типа контента, но безуспешно.

Ответы [ 4 ]

8 голосов
/ 02 сентября 2010

В своем HTML добавьте метатег:

 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

Также добавьте этот PHP-заголовок вверху скрипта:

 header("Content-Type: text/html;charset=UTF-8");

[EDIT]:

Еще один совет - сохранить файл в кодировке UTF-8 without BOM.Для этого вы можете использовать Notepad ++ или любой приличный редактор.

1 голос
/ 02 сентября 2010

Убедитесь, что для сопоставления соединений установлено значение utf8:

SET NAMES utf8
0 голосов
/ 18 января 2019

Добавить только accept-charset = "character_set" в форме. Это все!

accept-charset="character_set"
0 голосов
/ 22 января 2014

есть несколько причин для неправильной кодировки, есть некоторая помощь: http://www.sebastianviereck.de/en/php-mysql-special-characters-umlauts-utf8-iso/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...