对字符串进行编码/解码,以便在文件名中传递变音符号?

时间:2018-01-30 10:44:14

标签: php utf-8 diacritics

我有一个接受参数g的脚本。之后会出现相对文件名。 所以我有一个https://server.com/index.php?g=test/test.php。我知道你说的是什么,但这不是关于安全问题。

现在我想在服务器中使用这个脚本。我是德国人,所以我的文件有时会有变音符号。

使用shell_exec('wget --user username --password pw -qO- --no-check-certificate https://server.com/index.php?g=test/test%F6.jpg &> /dev/null');时,脚本会正确获取文件名。

但是当试图从内部运行时,即

$_GET['g'] = 'test/test%F6.jpg';
include('index.php');

$_GET['g'] = 'test/testö.jpg';
include('index.php');

$_GET['g'] = utf8_decode('test/testö.jpg');
include('index.php');

$_GET['g'] = utf8_encode('test/testö.jpg');
include('index.php');

它永远找不到文件。

如何对$ _GET ['g']字符串进行编码/解码才能成功传递变音符号?

编辑:我发现它可以通过将我的测试文件的编码更改为ansi来实现。在主脚本中它可以工作。所以只是脚本文件本身的格式化为ansi。

0 个答案:

没有答案