网址URL复制粘贴后,中文部分变“乱码“?

2025-10-23 22:00:07

问题

浏览器地址栏中的网址(URL)【中文】部分,复制粘贴后变成“乱码”?

如下图浏览器地址栏中显示的网址(URL)为:

“https://www.baidu.com/s?ie=UTF-8&wd=百度”

当复制粘贴在word、记事本、excel中时,网址(URL)里面的【中文】部分将变成“乱码”,如下:

https://www.baidu.com/s?ie=UTF-8&wd=%E7%99%BE%E5%BA%A6

出现该问题的原因

网址(URL):本身不支持中文,所有中文字符都要经过编码之后才可以传输,浏览器地址栏中显示出中文部分仅是为了用户体验(直观易看)。

“乱码”:网址(URL)里面的中文部分被编码成了“%”+中文编码后的字符:%xx,如上述URL中的“百度”被编码为“%E7%99%BE%E5%BA%A6”。

总结来看,此处的“乱码”是一种经编码后显示的结果,是有规律和可以相互转换的。

处理方法

以下基于非技术、python技术两个角度,总结了该问题的处理方法。

1、非技术处理

此方法是最直接简单的处理方法,实现复制粘贴后的【中文】正常显示。

十分适用于日常撰写文档时,快速有效地复制含中文的URL。毕竟经过编码后的中文部分较长,使得整个文档看起来较为不直观、不简洁。

方法如下:

第一步:直接在浏览器地址栏中网址(URL)“http”前面添加任意个字符(数字、字母、汉字等),让浏览器自动识别不出来是URL。

第二步:复制需要的目标URL即可。如:https://www.baidu.com/s?ie=UTF-8&wd=百度。注意的是:如果直接复制,没有成功显示中文,就【回车】一下,再复制即可。

2、使用python处理

此方法借助python的urllib库,实现URL【中文】部分的编码与解码。

适用于批量处理等,特别是爬虫部分。

(1)解码

方法:urllib.parse.unquote(‘’)

释义:对URL【中文】“乱码”部分进行解码

实例:

对URL“https://www.baidu.com/s?ie=UTF-8&wd=%E7%99%BE%E5%BA%A6”中的“%E7%99%BE%E5%BA%A6”,进行解码。

from urllib.parse import unquote

url_str = 'https://www.baidu.com/s?ie=UTF-8&wd=%E7%99%BE%E5%BA%A6'

paras = unquote(url_str)

print(paras)

(2)编码

方法:urllib.parse.quote(‘中文’)

释义:将URL的中文部分进行编码

实例:对URL“https://www.baidu.com/s?ie=UTF-8&wd=百度”中的“百度”进行编码。

from urllib.parse import quote

url_str = '百度'

paras = quote(url_str)

url = "https://www.baidu.com/s?ie=UTF-8&wd={}".format(paras)

print(url)

以上关于网址(URL)中文“乱码”的原因及处理方法,可供参考。

-end-

    亚洲六队全部登场,现役中超球员亮相卡塔尔世界杯
    如何高效使用计算器进行日常数学运算

    Copyright © 2022 摩洛哥世界杯_直播世界杯决赛 - dgaida.com All Rights Reserved.