问题标签 [idn]

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 投票
1 回答
183 浏览

sql - 国际域名长度统计throw SQL (PostgreSQL)

我有几个域名以 idn 格式(“xn--”)保存在数据库中。我想运行一些统计查询,但是在计算这些域名上的字符时遇到问题

当然,我对“xn--”域有误,我想从 sql 中获取计数(不进一步使用 php 或其他语言)。

或者,请给我一些建议如何做得更好。

- 首先将域名以 UTF-8 格式保存到表中会很棒,但现在这不是一个选项 :)

0 投票
2 回答
223 浏览

cocoa-touch - Cocoa 的 CFHost 是否支持 IDN?

WINAPI 具有将 Unicode 主机名转换为 Punycode 的方法。Cocoa/Cocoa Touch 有类似的机制吗?

0 投票
1 回答
892 浏览

jquery - Firefox 中的国际域名 + JQuery attr('href') 问题

我正在尝试使用 jQuery 设置 a 元素的 href。当我在 Firefox 6 中设置 IDN 时,href 是 url 编码的。一个例子是 IDN http://räksmörgås.se,它被修改为http://r%C3%A4ksm%C3%B6rg%C3%A5s.se。当我在其他浏览器(IE8、Chrome 13、Safari 5.1)中执行相同操作时,IDN 未编码。

我尝试这样做的原因是我让用户更改href,然后通过ajax 将页面内容的子集上传到Web 服务器。然后我遇到了问题,因为链接深埋在 html 字符串中;而且我不想挖掘 html 字符串中的所有元素。

在Firefox中设置hrefs时有什么方法可以禁用hrefs的编码?或者你有什么其他方法可以解决这个问题吗?

(我注意到,如果 href 是一个有效的 punycode IDN,即http://www.xn--rksmrgs-5wao1o.se,浏览器就很好而且很花哨。但是我必须在 js 中进行 punycode 编码,我不喜欢的东西;可能有一个或几个错误,并且似乎没有编码器/解码器的官方版本。)

以下 html 页面显示了我的问题。如果您输入国际域名(复制粘贴“http://www.räksmörgås.se”),#linkHtml 将获取整个 a 元素,如果使用 Firefox,则包括损坏的 href,如果使用任何其他浏览器,则包括正确的 href .

0 投票
1 回答
392 浏览

mod-rewrite - 如何将 s 域名重写为原始 IDN 而不是 punycode?

我购买了一个非拉丁字符的 IDN 域名。这很好,但是当我访问域名时,地址栏会显示该域的 punycode,而不是任何用户都难以记住的实际域。

无论如何我可以将域名重写为原始IDN而不是punycode?

示例:IDN =افلاماونلاين.com

地址栏中显示的 punycode =xn--mgbaaa1ksacgkcs1a.com

0 投票
2 回答
9270 浏览

unicode - IDN 域名是否区分大小写?

有些人会回答说域名不区分大小写。在新的 Unicode 世界中,这不再是真的。

来源

我认为 Unicode > Punycode 转换中的步骤之一是“规范化”,它将域名呈现为小写。

0 投票
2 回答
3293 浏览

php - 如何在 PHP (cURL) 中启用 IDN 支持?

我的 cURL 配置(来回phpinfo()函数)是:

IDN 的值为No。我可以启用它吗?如何?

谢谢!

0 投票
0 回答
654 浏览

apache - 如何在 apache 上编码 IDN?

我需要将apache中的请求重写到一个目录。

虽然大多数浏览器将其转换为 Punycode (Bücher.ch -> xn--bcher-kva.ch),但一些请求被编码为 ascii (Bücher.ch -> B%C3%BCcher.ch)。

我的目录在 Punycode 中,这意味着,我将“Bücher.ch”重定向到名为“xn--bcher-kva.ch”的目录。

关于如何将请求编码为 Punycode 的任何想法,以便我可以以正确的方式引导它们?

谢谢

0 投票
1 回答
642 浏览

c - conftest 中的“跳过不兼容”错误

我相信 conftest 缺少正确的标志,但我无法通过查看 mkmf.log 的内容来找出问题所在,这些内容包含在下面。任何想法,将不胜感激!

p>

0 投票
3 回答
2852 浏览

database-design - IDNA 转换域名的最大长度是多少?

第一件事:

在将每个域名转换为其 IDNA 版本之后,我将多个域存储到数据库中。我需要知道这样一个 IDNA 转换的域名可以具有的最大长度,以便我可以定义数据库字段的最大长度。

已知事实:

现在,我知道域名(包括任何子域)中的最大字符数是 255 个字符。

我丢的地方:

乍一看很容易,但是……这是否意味着国际字符的常规 ascii 字符(想想 UTF-8 编码)?

举个例子:当我忽略“ü”是一个需要更多字节来表示的国际字符时,域“müller.de”有 9 个字符。“müller.de”的 IDNA 版本是“xn--mller-kva.de”,它有 16 个字符。这表明最大长度肯定存在差异,具体取决于“是否”它是否被 IDNA 转换。

根据它们所指的字符类型,最多 255 个字符可能是国际字符版本、IDNA 转换版本,甚至两者兼而有之。

这就是我失去它的地方......尤其是,因为我必须考虑到并非所有域都是理智的,并且像“öüßüöäéèê.example.äöüßüöäéèê-äöüßüöäéèêê.test.äöüßüöäéèêêê.com”之类的东西更糟糕的是被期望。

因此,“猜测”和“希望最好”不是一种选择。我需要确定...

问题是:

基于已知的事实,域名(包括任何子域)中的最大字符数为 255 个字符...... IDNA 转换域名的最大长度是多少?

或者他们是否意味着 IDNA 转换版本(punycode)也被限制为 255 个字符(这意味着具有国际/unicode 字符的域实际上在其 unicode 表示中的限制更短,因为他们的 IDNA 转换版本必须尊重 255 个字符限制)?

0 投票
2 回答
2853 浏览

c# - 如何通过代码启用对 URI-Class 的 IDN/IRI 支持?

我正在尝试为 URI 类启用 IDN/IRI 支持,因为我需要德语变音符号域(例如 www.bücher.de)上的“Uri.IsWellFormedUriString”方法。

我在https://stackoverflow.com/a/6107682/413531发现了类似的问题(取自http://msdn.microsoft.com/en-us/library/system.uri.aspx在“国际资源标识符支持”)但解决方案对我不起作用。我当前的 app.config 文件如下所示:

当我添加

作为最后的另一个孩子,抛出异常:ConfigurationErrorsException - {“Das Konfigurationssystem konnte nicht initialisiert werden.”}

所以我在http://msdn.microsoft.com/en-us/library/system.uri.aspx中进一步阅读了一个偶然发现

Uri 类中的 IRI 和 IDN 处理也可以使用 System.Configuration.IriParsingElement、System.Configuration.IdnElement 和 System.Configuration.UriSection 配置设置类来控制。System.Configuration.IriParsingElement 设置启用或禁用 Uri 类中的 IRI 处理。System.Configuration.IdnElement 设置启用或禁用 Uri 类中的 IDN 处理。System.Configuration.IriParsingElement 设置也间接控制 IDN。必须启用 IRI 处理才能进行 IDN 处理。如果禁用 IRI 处理,则 IDN 处理将设置为默认设置,其中使用 .NET Framework 2.0 行为以实现兼容性并且不使用 IDN 名称。

不幸的是,我找不到使用 System.Configuration.IriParsingElement、System.Configuration.IdnElement 和 System.Configuration.UriSection 的示例。我不知道这些是如何使用的...

所以基本上,我的问题归结为:我想在 URI 类中启用 IDN/IRI 支持,但我不知道该怎么做。配置解决方案对我不起作用,所以我想通过代码尝试,但不知道如何。顺便提一句。我也想知道为什么配置的东西不起作用;)