搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Firefox cannot open magnet links with urlencoded non-UTF-8 characters in the address.

  • 6 个回答
  • 2 人有此问题
  • 12 次查看
  • 最后回复者为 Stylius

more options

Firefox cannot open magnet links (other protocols might apply as well), that have urlencoded non-UTF-8 chars in the address.

Here are some examples with the same torrent (magnet), but different dn value:

--- dn variable contains only ASCII chars. Works well in the latest FF versions. First word in DN is "Ubuntu":

magnet:?xt=urn:btih:f36c92a8f78a1aff70a61a5f5bfe5e6757176133&dn=Ubuntu+12.10-desktop-amd64&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80


--- dn variable contains Cyrillic chars, but UTF-8 encoded. Works well in the latest FF versions. First word in DN is "Ubuntu" in Cyrillic - "Убунту":

magnet:?xt=urn:btih:f36c92a8f78a1aff70a61a5f5bfe5e6757176133&dn=%D0%A3%D0%B1%D1%83%D0%BD%D1%82%D1%83+12.10-desktop-amd64&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80


--- dn variable contains Cyrillic chars, CP-1251 encoded this time. Does not work in Firefox since version 13.0. Works well in Firefox 12.0. First word in DN is "Ubuntu" in Cyrillic - "Убунту" (windows-1251 encoded):

magnet:?xt=urn:btih:f36c92a8f78a1aff70a61a5f5bfe5e6757176133&dn=%D3%E1%F3%ED%F2%F3+12.10-desktop-amd64&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80

Firefox cannot open magnet links (other protocols might apply as well), that have urlencoded non-UTF-8 chars in the address. Here are some examples with the same torrent (magnet), but different dn value: --- dn variable contains only ASCII chars. Works well in the latest FF versions. First word in DN is "Ubuntu": magnet:?xt=urn:btih:f36c92a8f78a1aff70a61a5f5bfe5e6757176133&dn=Ubuntu+12.10-desktop-amd64&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80 --- dn variable contains Cyrillic chars, but UTF-8 encoded. Works well in the latest FF versions. First word in DN is "Ubuntu" in Cyrillic - "Убунту": magnet:?xt=urn:btih:f36c92a8f78a1aff70a61a5f5bfe5e6757176133&dn=%D0%A3%D0%B1%D1%83%D0%BD%D1%82%D1%83+12.10-desktop-amd64&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80 --- dn variable contains Cyrillic chars, CP-1251 encoded this time. Does not work in Firefox since version 13.0. Works well in Firefox 12.0. First word in DN is "Ubuntu" in Cyrillic - "Убунту" (windows-1251 encoded): magnet:?xt=urn:btih:f36c92a8f78a1aff70a61a5f5bfe5e6757176133&dn=%D3%E1%F3%ED%F2%F3+12.10-desktop-amd64&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80

所有回复 (6)

more options

Hi,

The Reset Firefox feature can fix many issues by restoring Firefox to its factory default state while saving your essential information. Note: This will cause you to lose any Extensions, Open websites, and some Preferences.

To Reset Firefox do the following:

  1. Go to Firefox > Help > Troubleshooting Information.
  2. Click the "Reset Firefox" button.
  3. Firefox will close and reset. After Firefox is done, it will show a window with the information that is imported. Click Finish.
  4. Firefox will open with all factory defaults applied.


Further information can be found in the Refresh Firefox - reset add-ons and settings article.

Did this fix your problems? Please report back to us!

more options

Hi dumdidadida,

Thank you for your interest in this.

I would prefer not to reset Firefox to factory default, as I doubt this is an issues with the accounts or settings. I did perform some tests with the portable Firefox versions, supplied by portableapps.com and the issue is reproducible with all versions since Firefox 13. All versions up to Firefox 12 do seem to handle non-utf-8 characters in the URL well.

Since all versions were portable, I just deleted the folder after each test, before extracting the new one. Basically all tests were with factory default settings.

I also have at least 2 friends that are aware of this issue and are able to reproduce it. I am yet to ping others, but I believe the result would be the same.

This seems to be: a. A bug. b. Blocked feature for whatever reason.

more options

I think Firefox usually doesn't handle magnet protocol, and instead passes it to an external application that is registered in the system to handle the particular protocol. It is the external application that decodes the URL and the parameters. Not sure if there are add-ons or web apps that could add this protocol functionality to Firefox.

You can also try to check this in a new profile and delete it later. This would ensure that the current settings/profile are untouched.

Profiles Howto

Profile Manager

Profile Folder & Files

Register protocol

more options

You are correct. This is indeed how magnet (or any other unrecognized protocol) links work. Basically Firefox opens a window to prompt you which external application you want to open the protocol links with. This works like a charm in all Firefox versions.

In Firefox up to version 12, the window with the prompt to select an application opens and then the link gets passed to the application correctly.

In Firefox since version 13, the window with the prompt to select an application opens and then nothing happens, when I select the application.

This is definitely not a profile issue. I tested with different vanilla Firefox versions (download firefox portable, extract, test, delete) and the issue is reproducible with all versions since Firefox 13.

more options

URLs always need to use encodeURIComponent() to encode non-standard characters.

more options

Hi cor-el,

Yes, all non-ascii characters have to be urlencoded. And they are. Here is the same string, one time utf-8 encoded and one time CP-1251 encoded. Both have gone through urlencoding. The string is: "Убунту".

UTF-8: %D0%A3%D0%B1%D1%83%D0%BD%D1%82%D1%83

CP-1251: %D3%E1%F3%ED%F2%F3

If the address has the string in UTF-8 before urlencoding, it works. It the string was in CP-2151 before urlencoding, it does not work with latest Firefox versions.