用TM编写PHP编码程序


PHP encoding program with TM

因此,在PHP中,我尝试使用;

$raw = file_get_contents($inlink);

然后我正在研究结果$内联来自$_GET变量。这适用于大多数URL,但当URL包含TM时,我会遇到问题(™)符号,因为我得到一个404错误。

有问题的URL是http://www.boots.com/en/Soap-Glory-Flake-Away-™-车身-Crub-300ml27894/

所以这看起来像是一个编码问题。所以我尝试了urlencode,但这没有帮助。我还尝试过从firefox中的地址栏复制和过去,这样我就进入了

http://www.boots.com/en/Soap-Glory-Flake-Away-%E2%84%A2-Body-Scrub-300ml_27894/

相反,但这也于事无补。

通过调试和对屏幕的响应,我最终得到了

http://www.boots.com/en/Soap-Glory-Flake-Away-â„¢-Body-Scrub-300ml_27894/

http%3A%2F%2Fwww.boots.com%2Fen%2FSoap-Glory-Flake-Away-%E2%84%A2-Body-Scrub-300ml_27894%2F

正在提交,但都不起作用。

奇怪的是,如果我在程序中硬编码链接,它就会工作!

有什么想法吗?

您需要utf8_encode URL(我认为它来自ISO-8859-1(5)/Latint1)

此外,我假设在运行file_get_contents()之前,您正在对URL进行utf8_decoding和验证-您不希望用户让您的系统从Internet上的任何位置请求任意URL。