Я создаю веб-приложение, которое будет работать на электронном языке с угловым в качестве основы веб-интерфейса и с Laravel в качестве основы внутреннего интерфейса. В приложении можно войти с помощью смарт-карты (благодаря node-pcsclite), оно читает байты на смарт-карте, а затем я их конвертирую.
Смарт-карта содержит код, который связан с таблицей персонала в моей базе данных MSSQL. Я могу получить код со смарт-карты и войти в приложение, когда оно использует mysql в качестве сервера базы данных.
Теперь, когда я пытаюсь сделать то же самое, но с mssql, я получаю сообщение об ошибке, которое следует просматривать в режиме html вместо самой страницы ошибки.
(Код может быть буквенно-цифровым)
Таким образом, он добавляет все эти странные символы (возможно, несуществующие символы), не так ли много проблем, верно? По крайней мере, так я и думал. Поэтому я попытался исправить это, используя этот код внутри моего контроллера laravel:
preg_replace('/[^A-Za-z0-9\-]/', '', $string);
Это ничего не решило. Тогда я подумал, что у меня могут быть проблемы с запросом, поэтому я запустил SQL Profiler, проблема в том, что (возможно, из-за специальных символов) запрос не работает.
select top 1 * from [Staff] where [CodeInit] = '
go
Так кто-нибудь знает, как действительно убрать странных персонажей?
Если вам нужна дополнительная информация, не стесняйтесь спрашивать.
У меня была эта проблема и я попал на этот вопрос при поиске решения. Я не смог найти никакого решения.
Строка с непечатными символами, полученными из mdecrypt_generic()
поэтому я хотел как-то удалить этих персонажей. Когда я копирую и вставляю полученное значение из браузера в текстовый редактор Brackets, на нем отображаются эти красные точки.
Я просто вставил его в Google, а затем он был закодирован в %10
, Ничего не помогало до сих пор, поэтому в качестве временного решения я просто использовал rtrim()
удалить эти точки.
Скопируйте точку в скобках и замените на "DOT_HERE"
,
rtrim(rtrim($pvp, "DOT_HERE"), "\0\4");
"\0\4"
удалит только nulls and EOT
но не этот точечный символ (%10
).
Далее приведен скриншот с этой красной точкой. Вы можете использовать текстовый редактор Brackets, чтобы увидеть это.
Обратите внимание, что $ pvp — это расшифрованный текст.
Других решений пока нет …