问题标签 [punycode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
730 浏览

vba - Excel VBA Punycode 支持国际域名(IDNA2003、IDNA2008 和 UTS46)

Excel VBA 是否为 Punycode 或转换为国际化域名的 Unicode/Ascii 提供任何类型的方法、函数或 API?

我能够找到似乎适用于 IDNA2008 标准的 JavaScript 版本(如下)。我仍然可以在 VBA 中使用它,但我认为这有点笨拙......

我尝试过的另一种方法是从在线 Punycode 转换器 ( http://www.unicode.org/cldr/utility/idna.jsp?a= ) 中抓取响应,但我真的对此并不感到疯狂,因为网站有时不可用,而且效率不高...

由于不同的网络浏览器(Internet Explorer、Firefox 和 Chrome)使用不同的标准。我需要能够使用所有标准(IDNA2003、UTS46、IDNA2008)在 Puny 之间进行转换,以便我可以生成/捕获所有可能的变化。

例如使用域“schüloß.de”我应该能够产生 2 个不同的变体:

统一码:

ASCII:

我不知道有任何 Web 对象或内置功能可以帮助处理 Punycode ...

有人会有一种可靠有效的方法来执行所有标准的 Punycode 转换吗?任何帮助将不胜感激。

附加信息:
在 Windows 7 中使用 MS Office 2013(32 位)。

该解决方案无法尝试与 Unicode 域进行通信。如果可能的话,我不反对使用 WinHttp 对象,但出于安全原因,它不能发送或尝试将传出网络流量发送到域......

不幸的是,这是需要 VBA 解决方案而无需安装外部软件的问题之一。

再次,非常感谢任何帮助!

0 投票
4 回答
3940 浏览

php - 如何检查域是否是punycode?

好吧,我使用 idna_convert PHP 类 ( http://idnaconv.net/index.html ) 来编码/解码域名。

不幸的是,它似乎没有提供一个接口来检查一个域名是否已经是 punycode。

实现这一目标的最佳方法是什么?如果有人可以发布源代码如何验证域是否是 punycode,那就太好了(有解释,因为 idna_convert 代码对我来说不是很清楚)。我已经知道如何从 idna_convert 捕获异常。:-)

顺便说一句:当您尝试将域名转换为已经是 punycode 的 punycode 时,idna_convert 会引发异常(请参阅https://github.com/phlylabs/idna-convert/blob/master/src/Punycode.php;第 157 行) . 此外,我真的不明白他们的支票是如何运作的。

0 投票
1 回答
49 浏览

internationalization - 我可以将所有域名都视为 IDN 而不会产生任何不良影响吗?

从测试来看,似乎尝试将 IDN 和常规域名都转换为“正常工作” - 例如,如果不需要更改输入,punycode 只会返回输入。

返回:

返回:

这看起来很棒,但它是否在任何地方指定?我可以安全地将所有内容转换为 punycode 吗?

0 投票
1 回答
761 浏览

java - java - 必须先删除 IDN.toASCII 协议吗?

我为我的 JSF 网页创建了一个 URL 验证器,现在偶然发现了第一个单词(由点分隔)包含非 ASCII 字符的域的问题。

我有以下有效的网站网址http://testä.comIDN.toASCII()使用创建无效的 url:将其转换为微不足道的代码xn--http://test-v8a.com

不应该http://xn--test-ooa.com/

我还在德国de域管理器 DENIC 上检查了它,它显示了相同的无效 URL 结果。

https://www.denic.de/service/tools/idn-web-converter/

这是 Java/RFC 中的 BUG 还是我遗漏了什么。

解决方法

当我首先删除协议时,它可以工作。

0 投票
1 回答
1217 浏览

utf-8 - MSXML2.ServerXMLHTTP 和国家字符

这个问题与这个问题有关:Character encoding Microsoft.XmlHttp in Vbscript,但有一点不同,国家字符在域名中,而不仅仅是参数。

任务是:从给定的 URL 下载页面。

我已经解决了通过 ADO 从 UTF8 编码文件中读取 UTF8 字符串到 VBScript 的问题。

但是现在当我尝试打开它时,MSXML2.ServerXMLHTTP 返回错误: URL 无效。

这是VBScript代码:

如果您将hxxp://россия.рф/main/page5.html之类的内容放入 UTF8 编码的 fileWithURL.txt 中,则脚本将在与hxxp://google.com正常工作时引发错误。

解决方法是使用域名的 ascii 表示 - 但我还没有找到用于 vbscript 的 PunnyCode 编码器(除了Chillkat,这对我的任务来说是一种过度杀伤力)。

感谢您对主要问题或解决方法的帮助。

0 投票
2 回答
665 浏览

email-validation - punycode 正确的电子邮件地址

使用包含 unicode 字符的电子邮件时,例如

您需要对两边进行 punycode 转换还是仅在右侧进行转换?

或者

0 投票
1 回答
240 浏览

c++ - QString from Punycode QUrl

If I put url http://www.äsdf.de/bla/bla into QUrl, how can I then restore url with original symbols?

It's ok that QUrl will fix some characters, but I'd like to display original äsdf in url instead of xn--sdf-pla.

I am aware about QString QUrl::fromAce(const QByteArray &domain), but it requires QByteArray instead of QUrl instance.

0 投票
2 回答
2846 浏览

nginx - Nginx server_name 中的 Unicode 域名

我正在尝试使用名为“privatinstruktør.dk”的域名设置服务器,但不断被重定向到默认的“欢迎使用 nginx”页面。

我试图像这样输入 server_name:

但这没有用。所以我尝试使用正则表达式,例如:

乃至

但一切都失败了,我被重定向到默认页面。有没有人提示如何解决这个问题?

0 投票
1 回答
86 浏览

php - PHP idn_to_ascii / VB.net idn.GetAscii() 不会产生正确的 PUNY CODE / IDN 域

我试图将域:http://pfeffermühle.com 转换为 Punycode 形式的正确 IDN 域。我使用了 vb.net 和 php,但两个结果都不正确。

VB.net:

PHP:

但正确的结果是:http: //xn--pfeffermhle-0hb.com

你可以在这里查看:

http://www.idnconverter.se/http://xn--pfeffermhle-0hb.com

https://www.punycoder.com/

https://www.charset.org/pages/punycode.php?decoded=http%3A%2F%2Fpfefferm%C3%BChle.com&encode=Normal+text+to+Punycode#results

问题是什么?

请帮忙。

谢谢

0 投票
2 回答
2437 浏览

google-chrome - Unicode 字符的有效域名注册

我试图弄清楚什么对域名注册有效,显然有些 Unicode 字符翻译得很奇怪,而另一些则根本没有。

这个地址:

转换为:

应翻译为:

但由于某种原因,浏览器阻止了它。

这些域的格式是如何确定的,浏览器阻止或不阻止什么?

http://xn--ippleman-dmj.com/是一个有效的 URL,而http://www.gοοgle.com不是。然而 Chrome 只替换了第二个 URL 上的 Unicode。