Русский текст через POST отображается кракозябрами (HELP)

Программирование, которое не связано с API.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Русский текст через POST отображается кракозябрами (HELP)

Сообщение wierusna »

Если ввести русский текст сюда http://torrentphp.16mb.com/test.html
Код этого файла test.html

Код: Выделить всё

 <html><body><form action="forie.php" method="post" target="_blank" >  Введите текст: <input type="text" value="РУССКИЙ ТЕКСТ" name="text">  <input type="submit" value="Отправить">  </form>    </body></html>  
затем он передается через пост в файл forie.php

Код: Выделить всё

 <?php   // Create a 100*30 image$im = imagecreate(100, 30);$textimg1 = $_POST['text'];// White background and blue text$bg = imagecolorallocate($im, 255, 255, 255);$textcolor = imagecolorallocate($im, 0, 0, 255); // Write the string at the top leftimagestring($im, 5, 0, 0, $textimg1, $textcolor); // Output the imageheader('Content-type: image/png'); imagepng($im);imagedestroy($im);?>  
Как это исправить?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение Александр »

wierusna
Во всех файлах используй одинаковую кодировку. Проверь что сервер отдает страницы в этой же кодировке.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение wierusna »

Александр писал(а):wierusna
Во всех файлах используй одинаковую кодировку. Проверь что сервер отдает страницы в этой же кодировке.
Когда я редактирую файлы на серверы в их редакторе (нажимаю рядом значок редактирования), то русский текст после сохранения преобразуется в символы, которые потом в браузере снова становятся текстом.

Пример файла до сохранения на сервер primer_flaaps.html

Код: Выделить всё

 <body>РУССКИЙ ТЕКСТ</body> 
Тот же самый файл но уже после сохранения

Код: Выделить всё

<body>РУССКИЙ ТЕКСТ </body>
С помощью чарльза смотрел как он посылает текст ...
Посылает его как РУССКИЙ ТЕКСТ

Что делать? как задать кодировку файлам?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение Alazaur »

В редакторе когда файлы создаете, смотрите в какой кодировке он их сохраняет. UTF-8 или Windows-1251 вам нужны. И главное следите за тем, чтобы все файлы, база(если используется), сопоставление были в одной кодировке.
И в файл test.html не плохо бы добавить

Код: Выделить всё

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

Код: Выделить всё

<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
Если у вас Flash использоваться не будет юзайте Windows-1251 с ней заморочек меньше, да и сам вконтакт в ней работает.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение wierusna »

Alazaur писал(а):В редакторе когда файлы создаете, смотрите в какой кодировке он их сохраняет.
У них редактор на сервере есть http://file-manager.hostinger.ru ...я их там все редактирую.
Пишет вот что
Status: Saved on 2012-03-04 13:47:50 using mode FTP_ASCII
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение ukhov »

wierusna писал(а):
Alazaur писал(а):В редакторе когда файлы создаете, смотрите в какой кодировке он их сохраняет.
У них редактор на сервере есть http://file-manager.hostinger.ru ...я их там все редактирую.
Пишет вот что
Status: Saved on 2012-03-04 13:47:50 using mode FTP_ASCII
В редакторе у них тоже должен быть выбор.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение wierusna »

ukhov писал(а):
wierusna писал(а):
Alazaur писал(а):В редакторе когда файлы создаете, смотрите в какой кодировке он их сохраняет.
У них редактор на сервере есть http://file-manager.hostinger.ru ...я их там все редактирую.
Пишет вот что
Status: Saved on 2012-03-04 13:47:50 using mode FTP_ASCII
В редакторе у них тоже должен быть выбор.

Вот скрин редактора
http://i027.radikal.ru/1203/07/9ab49185fb93.png
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение Alazaur »

Скачайте Notepad++ (http://notepad-plus-plus.org/download/v5.9.8.html) и не мучайтесь.
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение alexei »

Я за свою жизнь видел многие ужасные вещи, но такого я еще не видел.
wierusna
Сообщения: 137
Зарегистрирован: 13 ноя 2011, 18:40

Re: Русский текст через POST отображается кракозябрами (HELP)

Сообщение wierusna »

Alazaur писал(а):Скачайте Notepad++ (http://notepad-plus-plus.org/download/v5.9.8.html) и не мучайтесь.
имеется, тот редактор что на скрине это их "редактор" (серверный)
как бы я не сохранял в нотпэде файл...в итоге иероглифы (текст переведенный в ASCII их редактором)

и еще кое что...как в пхп засунуть кодировку Windows-1251 ?
пробовал так

Код: Выделить всё

 <?php header('Content-Type: text/html; charset=windows-1251');  // Create a 100*30 image$im = imagecreate(100, 30);$textimg1 = $_POST['text'];// White background and blue text$bg = imagecolorallocate($im, 255, 255, 255);$textcolor = imagecolorallocate($im, 0, 0, 255); // Write the string at the top leftimagestring($im, 5, 0, 0, $textimg1, $textcolor); // Output the imageheader('Content-type: image/png'); imagepng($im);imagedestroy($im);?>  
результат = каракули
вот ссылка http://torrentphp.16mb.com/test.html

там два раза контент тип прописан
header('Content-type: image/png');
header('Content-Type: text/html; charset=windows-1251');
Ответить