|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.01.2019, 07:00 | #1 |
Регистрация: 05.01.2019
Сообщений: 5
|
Обработка массивов
Здравствуйте, уважаемые!
Изучаю PHP Вопрос следующего порядка. Никак не могу победить одну проблему, связанную с кодировкой. Если кто подскажет решение проблемы, то буду весьма признателен. Итак, предположим есть задача: через форму передать строку, преобразовать ее в массив и потом произвести те или иные действия в полученном массиве (не важно какие, сортировка, выделение отдельных элементов массива, создание на базе данного массива нового, не суть). Но предварительно производится проверка переданной строки, что в ней содержатся именно буквы кириллицы. И все замечательно на начальном этапе. Вот код основного файла php: <?php //header('Content-Type: text/html; charset=ANSI'); require "index.html"; echo '<br>'.$_REQUEST['myarr']."<br>"; $vararr = explode(" ", $_REQUEST['myarr']); foreach($vararr as $v) { echo ord($v)."<br>"; } ?> Методом require вызывается форма, нарисованная на html: <html> <head> <title>Работа с массивами</title> </head> <body> <script language="javascript"> function checkdata() { var rescheck = true; //Проверка на заполненность данными поля данных if(document.myform1.myarr.value.len gth == 0) { rescheck = false; } //Если поле заполнено, то приступить к обработке созданной строки данных if(rescheck) { document.myform1.submit(); } //Выдать предупреждающее сообщение else { alert(rescheck); } } </script> </body> <form action='index.php' method='post' name='myform1'> <fieldset> <legend>Данные массива</legend> <label for='lbl1'>Значения массива</label> <br> <input type='text' name='myarr' id='Value1'> <br> </fieldset> <input type='button' name='btncheck' value='Обработать' onClick='checkdata()'> <input type='reset' name='btnreset' value='Очистить'> </body> </html> И вот тут начинается засада. Используемый редактор кода Notepad++. Если установить изначально в редакторе кодировку UTF-8 c BOM, то на экране тексты килиллицы отображаются корректно, но при этом не работает функция PHP ord(). А я знаю с UTF она не дружит для кириллицы. Если использовать кодировку ANSI, то после возвращения на страницу через метод submit() после нажатия на кнопку искажается основной текст, написанный на кириллицы. Всю голову себе сломал, как правильно справляться с этой проблемой. Последний раз редактировалось KinBau; 26.01.2019 в 19:49. Причина: Устранение синтаксических и лексических ошибок |
27.01.2019, 09:39 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
надо без BOM все файлы, кодировку заголовка тоже utf8
все должно быть в одной кодировке и без BOM и будет вам счастье |
28.01.2019, 11:12 | #3 |
Регистрация: 05.01.2019
Сообщений: 5
|
|
28.01.2019, 11:16 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,759
|
В последних версиях он просто называется UTF-8. На форуме разработчики отввечали. Да и редакторов дофига...
|
30.01.2019, 17:16 | #5 |
Регистрация: 05.01.2019
Сообщений: 5
|
В последних версиях Notepad++ есть кодировка UTF-8 и кодировка UTF-8 c BOB. Последняя работает с кириллицей корректнее.
Что касается уже имеющихся ответов, так дайте, любезный, конкретно ссыслочки, где подобные вопросы обсуждались уже, ибо искать в общем потоке сложновато, либо подскажите, как эргономично осуществлять поиск на данном форуме. |
31.01.2019, 09:11 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,177
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка массивов с++ | ezu | Помощь студентам | 2 | 05.03.2016 15:08 |
Обработка массивов на С | Просящий | Помощь студентам | 2 | 09.11.2012 12:38 |
Обработка массивов! | Bohdan1993 | C# (си шарп) | 1 | 23.10.2012 10:15 |
обработка массивов | Pepsik | Помощь студентам | 4 | 12.07.2011 08:33 |
обработка массивов | vvioleta | Помощь студентам | 1 | 14.11.2009 13:10 |