На мой взгляд, лучший способ вообще запретить SQL-инъекцию в вашем PHP-приложении (или любом веб-приложении, если на то пошло) - это думать о архитектуре вашего приложения. Если единственный способ защитить от SQL-инъекции - не забудьте использовать специальный метод или функцию, которая делает The Right Thing каждый раз, когда вы разговариваете с базой данных, вы делаете это неправильно. Таким образом, это просто вопрос времени, пока вы не забудете правильно отформатировать свой запрос в какой-то момент вашего кода.
Принятие шаблона MVC и структуры, такой как CakePHP или CodeIgniter - это, вероятно, правильный путь: общие задачи, такие как создание безопасных запросов к базе данных, были решены и централизованно реализованы в таких рамках. Они помогают организовать ваше веб-приложение разумным образом и заставляют вас больше думать о загрузке и сохранении объектов, а не о безопасном построении отдельных SQL-запросов.
Попытка:
chcp 65001
, который изменит кодовую страницу на UTF-8. Кроме того, необходимо использовать шрифты консоли Lucida.
Фактически, дело в том, что командная строка на самом деле понимает эти неанглийские символы, просто не может отображать их правильно
Когда я вписываю в командную строку путь, содержащий несколько неанглийских символов, он отображается как «?? ?????? ?????». Когда вы отправляете свою команду (в моем случае cd "??? ?????? ?????"), все работает как положено.
У меня такая же проблема (я из Чехии). У меня английская версия Windows, и мне приходится работать с файлами на общем диске. Пути к файлам включают символы, специфичные для чешского языка.
У меня работает следующее решение:
В пакетном файле изменить страницу кодировки
Мой пакетный файл:
chcp 1250
copy "O:\VEŘEJNÉ\ŽŽŽŽŽŽ\Ž.xls" c:\temp
Пакетный файл должен быть сохранен в CP 1250.
Обратите внимание, что консоль не будет правильно отображать символы, но поймет их ...