Java 取消支持命令行文件路径中的字符

Java 取消支持命令行文件路径中的字符,java,php,command-line-interface,Java,Php,Command Line Interface,我想从PHP链接调用java应用程序: exec('LC_ALL=en_US.utf-8 java -jar /test.jar' . $filepath . '); 但文件路径中始终存在不受支持的字符 例如:#&;?*[空格]…,将其更改为#\&。。。会好的 但是找不到这些字符的完整列表 有什么办法可以解决这个问题吗?看一看 他们会为你提供所有必要的卫生设施 如果$filepath来自外部(例如来自用户输入),则必须运行escapeshellarg(),以防止注射。我的问题已解决 有用的网址

我想从PHP链接调用java应用程序:

exec('LC_ALL=en_US.utf-8 java -jar /test.jar' . $filepath . ');
但文件路径中始终存在不受支持的字符

例如:#&;?*[空格]…,将其更改为#\&。。。会好的

但是找不到这些字符的完整列表

有什么办法可以解决这个问题吗?

看一看

他们会为你提供所有必要的卫生设施

如果
$filepath
来自外部(例如来自用户输入),则必须运行
escapeshellarg()
,以防止注射。

我的问题已解决

有用的网址:

此文件名始终显示线程“main”java.lang.IllegalArgumentException中的java错误44248-1(ru)v01-баааааааааааааааааааа107。doc@bruce这是一个不同的问题,很可能是因为西里尔文字的字符集问题。这要复杂得多。值得单独提问