Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
如何将编码URL转换为可读文本?_Url_Unicode_Unicode String - Fatal编程技术网

如何将编码URL转换为可读文本?

如何将编码URL转换为可读文本?,url,unicode,unicode-string,Url,Unicode,Unicode String,这是关于孟加拉语Unicode文本的,但对于拉丁语以外的任何语言都可能是一个问题。 我是一个有着大量孟加拉语文本和类别的人(我不喜欢说孟加拉语,因为孟加拉语的名字是孟加拉语而不是孟加拉语) 那么孟加拉语的类别呢"বাংলা" 说像这样的URL: http://www.example.com/category/বাংলা 但每当我从地址栏复制URL并将其放入聊天面板或其他地方时,它都会用一些奇怪的字符进行更改,例如: http://www.example.com/category/%E0%A6%B

这是关于孟加拉语Unicode文本的,但对于拉丁语以外的任何语言都可能是一个问题。
我是一个有着大量孟加拉语文本和类别的人(我不喜欢说孟加拉语,因为孟加拉语的名字是孟加拉语而不是孟加拉语)

那么孟加拉语的类别呢"বাংলা" 说像这样的URL:
http://www.example.com/category/বাংলা

但每当我从地址栏复制URL并将其放入聊天面板或其他地方时,它都会用一些奇怪的字符进行更改,例如:
http://www.example.com/category/%E0%A6%B8%E0%A7%8D%E0%A6%A8%E0
*

*这只是一个例子,不是这个词的确切含义。”বাংলা))

所以,在很多情况下,我得到了一些像上面这样的编码URL,从那里我没有找到他们所说的Unicode文本的踪迹。最近我的一个插件记录了一些404错误。从那里我发现了一个URI,如:

/category/%E0%A6%B8%E0%A7%8D%E0%A6%A8%E0%A6%BE%E0%A7%9F%E0%A7%81%E0%A6%AC%E0%A6%BF%E0%A6%A6%E0%A7%8D%E0%A6%AF%E0
我使用Jetpack的Omnisearch查找任何匹配项,但结果是空的。我甚至无法追踪这是哪一个类别——创建了这样一个404

所以问题来了:

  • 如何将编码的URL转换为可读的图示符?
不是URL;URL只能包含ASCII字符。这是一个

是该IRI的URI表示形式。它们在其他方面是等效的。浏览器可能会在用户界面中显示“漂亮”的IRI版本,但会将该URI版本放在剪贴板上,以便您可以将其粘贴到其他不支持IRI的工具中

您粘贴的404地址转换为:

/category/স্নায়ুবিদ্য�

其中最后一个字符是� 因为它是一个无效的、被截断的UTF-8序列。(这可能就是请求失败的原因。)有人可能在此处错误粘贴了部分URI。

WordPress。抱歉,我不提这一点。浏览器可能会在用户界面中显示“漂亮”的IRI版本,但会将URI版本放在剪贴板上,以便您可以将其粘贴到其他不支持IRI的工具中。我实际上无法理解这一点。是的,您做得非常好我把它们粘贴到记事本、不同粘贴格式的MS Word、浏览器地址栏……但这并没有显示为স্নায়ুবিদ্য�, 它们只是以编码字符的形式出现。请澄清翻译过程。但感谢IRI。:)好的,IRI的路径/查询部分是在UTF-8字符编码的基础上使用标准URL编码转换为URI的。在Python中,您可以使用
urlib.unquote(“%E0%A6%AC%E0%A6%BE%E0%A6%82%E0%A6%B2%E0%A6%BE')将其颠倒过来).decode('utf-8','replace')
。谢谢,我想这可以添加到您的答案中。除了Python还有其他想法吗?我是一个简单的PHP程序员。很抱歉,我的含糊不清。:)在PHP中,URL将解码路径部分。然后您将有一个UTF-8编码的字节字符串。请注意,对于任何一种语言,这都是您只能在拆分的URL组件上执行的操作;转换为在完整的IRI和URI之间需要做更多的工作,因为您必须拆分组件并在主机名上使用Punycode,而不是URL编码。这也可以在javascript中完成。只需在Chrome(或其他浏览器中的等效浏览器)中打开Chrome扳手菜单->工具->开发人员工具->控制台即可http://www.example.com/category/gibberish......")
编码URI(“http://www.example.com/category/বাংলা“”
http://www.example.com/category/%E0%A6%AC%E0%A6%BE%E0%A6%82%E0%A6%B2%E0%A6%BE
/category/স্নায়ুবিদ্য�