Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除未知字符_Php_Laravel_Byte - Fatal编程技术网

Php 删除未知字符

Php 删除未知字符,php,laravel,byte,Php,Laravel,Byte,我正在构建一个web应用程序,它将在electron中运行,angular作为前端框架,laravel作为后端框架。在应用程序中,可以使用智能卡登录(多亏了节点pcsclite),它读取智能卡上的字节,然后我转换它们 智能卡包含一个代码,该代码链接到我的MSSQL数据库中的staff表。我可以从智能卡中检索代码,当应用程序使用mysql作为数据库服务器时,我可以登录该应用程序 现在,当我尝试使用mssql执行相同操作时,我得到一个错误,应该在html模式下查看,而不是错误页面本身 (代码可以是

我正在构建一个web应用程序,它将在electron中运行,angular作为前端框架,laravel作为后端框架。在应用程序中,可以使用智能卡登录(多亏了节点pcsclite),它读取智能卡上的字节,然后我转换它们

智能卡包含一个代码,该代码链接到我的MSSQL数据库中的staff表。我可以从智能卡中检索代码,当应用程序使用mysql作为数据库服务器时,我可以登录该应用程序

现在,当我尝试使用mssql执行相同操作时,我得到一个错误,应该在html模式下查看,而不是错误页面本身

(代码可以是字母数字)

所以它添加了所有这些奇怪的字符(可能是不存在的字符),这不是一个很大的问题吧?至少,我是这么想的。因此,我试图通过在我的laravel控制器中使用以下代码来修复它:

preg_replace('/[^A-Za-z0-9\-]/', '', $string);
这没有解决任何问题。然后我想我可能会遇到查询问题,所以我运行了SQL Profiler,问题是(可能是因为特殊字符)查询被破坏了

select top 1 * from [Staff] where [CodeInit] = '
go
那么,有人知道如何真正删除这些奇怪的字符吗


如果您需要更多信息,请随时询问。

我遇到了这个问题,在寻找解决方案时遇到了这个问题。我找不到任何补救办法

mdecrypt_generic()
检索到的包含不可打印字符的字符串,因此我想找到一种删除这些字符的方法。当我将检索到的值从浏览器复制并粘贴到括号文本编辑器时,它会显示这些红点

我刚刚把它粘贴到谷歌上,然后它被编码成
%10
。到目前为止没有任何帮助,所以作为一个临时解决方案,我只是使用
rtrim()
来删除这些点

复制括号中的点并替换为
“此处的点”

“\0\4”
将只删除
空值和EOT
,而不删除该点字符(
%10

下面是一个带有红点的屏幕截图。您可以使用括号文本编辑器查看此内容


请注意,$pvp是解密的文本。

我想您是故意用星号混淆字符串的吧?现在主要是星号的值-是否因为它在屏幕截图中看起来不像而用引号括起来?首先,这些红色字符不是星号,而是点(可能是因为它无法显示它的真实面目)。如果我看一下错误页面,它会显示以下查询:SQL:selecttop1*from[Staff],其中[CodeInit]=10741。问题是这些点是非法字符,但我无法删除它们。你试过类似的方法吗?它被修复了,这是我的错,我在错误的地方使用了这个函数。打扰一下
rtrim(rtrim($pvp, "DOT_HERE"), "\0\4");