Deutsch

Bootstrap-Formular не передает кириллицу!

500  
Ameno2007 прохожий04.10.17 15:39
04.10.17 15:39 
Последний раз изменено 04.10.17 15:55 (Ameno2007)

Всем доброго времени суток!

Сделала простую страницу сделана на HTML на 3 языках (нем. англ. рус). Встроен вот такой контактный формуляр один на всю страницу (я убрала из пакета файлов только 1 файл Дже-Квери, т.к. с ним не работала страница, видимо конфликт с ЯвойСкрипт)

https://webdesign.tutsplus.com/tutorials/building-a-bootst...


При отсылке русского текста через формуляр получаю вот что (с остальными текстами проблем нет, все доходит).

Мое �ообщение


Как они требуют, в header страницы с формуляром вставила

meta charset="utf-8"
meta http-equiv="content-type" content="text/html; charset=utf-8"


Спасибо заранее за советы!.

-------------------------------

Файл form-process.php (где все параметры формуляра) я обрабатывала на Notepad++, кодировку при speichern поставила UTF-8 ohne BOM.

Саму страницу на русском с формуляром я обрабатывала на Дримвивере, там при speichern можно отметить гадочкой опцион Unikoder-Signatur (BOM) einschließen и выбрать Unikode-Normalisierungsformular (там разные варианты на выбор). Но я эти опционы не отмечала.

#1 
Ameno2007 прохожий04.10.17 17:13
NEW 04.10.17 17:13 
в ответ Ameno2007 04.10.17 15:39

В первой строчке формуляра ( form) стоит:

form role="form" id="contactForm" data-toggle="validator" class="shake"

#2 
  beatus местный житель06.10.17 19:35
beatus
NEW 06.10.17 19:35 
в ответ Ameno2007 04.10.17 15:39
Попробуйте в PHP использовать функцию

string utf8_encode ( string $data )
#3 
Ameno2007 прохожий07.10.17 08:53
NEW 07.10.17 08:53 
в ответ beatus 06.10.17 19:35, Последний раз изменено 07.10.17 08:57 (Ameno2007)

Спасибо за совет улыб

Вот мой рнр-файл form-process.php с параметрами формуляра.


http://savepic.net/10087949.jpg


Я попробывала разные уже готовые предложения c Вашего ресурса http://php.net/manual/ru/function.utf8-encode.php#102382

(вот это например) , но ничего не получается к сожалению. Еще вопрос: имеет значение место, на которое надо ставить новую функцию - впереди, сразу после открытия тэга рнр или в самом конце, перед закрытием тэга ( ?>)

#4 
  beatus местный житель07.10.17 11:10
beatus
NEW 07.10.17 11:10 
в ответ Ameno2007 07.10.17 08:53
В строке 40 пишете:

$Body .= utf8_encode($message);

или

$Body .= mb_convert_encoding($message, "UTF-8", "auto");

имеет значение место, на которое надо ставить новую функцию
Нет, не имеет.
#5 
NightWatch коренной житель07.10.17 18:40
NightWatch
NEW 07.10.17 18:40 
в ответ Ameno2007 07.10.17 08:53
При отсылке русского текста через формуляр получаю вот что

Получаешь, полагаю, email, где ты и наблюдаешь эти кракозябры?

#6 
Ameno2007 прохожий07.10.17 19:14
NEW 07.10.17 19:14 
в ответ NightWatch 07.10.17 18:40

Да, с латинским текстом все ОК, и с емейлом тоже. Только тексты сообщений на русском доходят глюками.

#7 
NightWatch коренной житель07.10.17 19:24
NightWatch
NEW 07.10.17 19:24 
в ответ Ameno2007 07.10.17 19:14, Последний раз изменено 07.10.17 19:28 (NightWatch)

Почтовые программы не знают, что находится в теле сообщения. Им об этом надо сообщить через хидер сообщения.

Для твоего случая подойдет

Content-type: text/plain; charset=utf-8

И убедись, что несколько хидеров отделяются друг от друга CRLF. Детали см. http://php.net/manual/de/function.mail.php

#8 
Ameno2007 прохожий07.10.17 20:09
NEW 07.10.17 20:09 
в ответ beatus 07.10.17 11:10

Я загрузила заново пакет файлов с формуляром на тестовый сервер (Страто), но не получилось с обоими вариантами......

Доходит вот что:


Name: .ащкьюреьд

Email: mein@mail.com

Message: Моёкфз.ащкщение


Попутно выяснилось:

1. Все ЯваСкриптовские файлы из пакета с формуляром + главный РНР-файл (я сделала с него скриншот) имеют по умолчанию кодировку ANSI. Даже если я их в Notepad+++ перезаписываю как UTF-8 ohne BOM, то при повторном открытии в том же Notepad они снова имеют кодировку ANSI. В Notepad+++ есть еще опционы "Zeichensatz", где есть и кирилица ит.д., но я их не устанавливала.

2. Если я для моих русских под-страниц (кодировка UTF-8) делаю алиасы на русском, то браузер (Mozilla) эти страницы вообще не показывает (не видит), a показывает ошибку .Только, если алиасы у русских страниц написаны латиницей, то все ОК, в браузере они открываются. Для проверки набрала просто рукой после названия домэна моего сайта произвольный алиас в браузере на русском типа www.my-domain.com/это-моя страница.html

Вышло на экране вот такое сообщение об ошибке:


Not Found
The requested URL /иÑще‰ÐºÑŒÑŽÑ€Ðµ‰Ñ‹ÐÑьекфз.а´ was not found on this server.


#9 
Vovan(ator) коренной житель07.10.17 20:15
Vovan(ator)
NEW 07.10.17 20:15 
в ответ Ameno2007 07.10.17 20:09

У меня года 3 назад тоже была подобная катавасия с кодировкой.

Так пока я полностью все документы не перекодировал в нужную кодировку,

то тоже всё наперекосяк шло.


Сам документ должен быть в UTF-8 сохранён.

#10 
Ameno2007 прохожий07.10.17 20:55
NEW 07.10.17 20:55 
в ответ Vovan(ator) 07.10.17 20:15, Последний раз изменено 08.10.17 08:07 (Ameno2007)

В пакете с формуляром ( скачала с Github) очень немного файлов. Почему-то ВСЕ js-файлы и рнр-файл открываются в кодировке ANSI. Я их записываю в кодировке UTF-8 ohne BOM, потом снова там же (Ноутпэд) открываю , а они снова в ANSI. Единственный HTML-файл с самим формуляром открывается сразу в UTF-8 ohne BOM.

#11 
Sergo2008 старожил08.10.17 08:25
Sergo2008
NEW 08.10.17 08:25 
в ответ Ameno2007 07.10.17 20:55

Вы их случаем выставляете в Notepad++ не как - "Кодировка в ..."? Если да, то так и будет, так как это просто переключение в нужную кодировку, без сохранения. Что бы кодировка сохранилась, нужно делать - "Преобразовать в ...".

ПС. За все годы что я Notepad++ пользуюсь, ещё не разу не было такого, что бы после преобразования кодировки, и сохранения документа в новой кодировке, кодировка не сохранялась.

#12 
Vovan(ator) коренной житель08.10.17 11:15
Vovan(ator)
NEW 08.10.17 11:15 
в ответ Sergo2008 08.10.17 08:25

Я тоже кодировку только в Notepad++ меняю.

У меня на английском, то я делаю через "encoding" и потом "convert to UTF-8"

#13 
Ameno2007 прохожий08.10.17 13:09
NEW 08.10.17 13:09 
в ответ Sergo2008 08.10.17 08:25, Последний раз изменено 09.10.17 08:33 (Ameno2007)

Выяснилось, что если файлы рнр и .js записывать в кодировке просто UTF-8,то кодировка сохраняется! Если записывать как UTF-8 (ohne ВОМ), то кодировка не сохраняется (я делаю конвертацию).

Оба выражения (которые мне подсказал beatus) я ввела по очереди. Пробывала формуляр на отдельном субдомэне, как отдельный мини-сайт .Не помогло все равно.Доходит только латинский текст.


П.С. Я думаю этот формуляр просто не расчитан на нелатинские тексты, там для этого очень много надо менять.
Я нашла формуляр, с капчей и даунлоадом, он даже иероглифы передает.up

Вот здесь:

http://www.kontaktformular.com/download-script-php-kontakt...


#14 
Ameno2007 прохожий09.10.17 08:33
NEW 09.10.17 08:33 
в ответ Ameno2007 08.10.17 13:09

Всем огромное спасибо за советы flower, тему закрываю.

#15