- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在做一个站点来检查、注册域等,我必须使其符合 IDN。现在我有这样的东西:
echo $domain;
$domain = idn_to_ascii($domain);
echo $domain;
$domain = idn_to_utf8($domain);
echo $domain;
我得到这个:
testing123ásd123xn--testing123sd123-wjbtesting123ĂĄsd123
如您所见,解码后的字符串与原始字符串不同,我也尝试使用 http://phlymail.com/en/downloads/idna/download/ 的类这样做并且我得到了相同的结果
我试过使用:
$charset="UTF-8";
echo $domain;
$domain = idn_to_ascii($domain, $charset);
echo $domain;
$domain = idn_to_utf8($domain);
echo $domain;
和我得到的完全一样(除了编码的字符串略有不同)
有什么想法吗?
编辑:问题解决了!有了这个Problem in converting string to puny code (in PHP, using phlyLabs's punycode string converter)原始字符串在 iso-8859-2 中,并在 UTF-8 中解码,现在我需要找到如何再次将其制作成 iso-8859-2,但谷歌可以帮助我。任何模组?我应该怎么处理这个问题?关闭它,删除它?就这样放着吗?
最佳答案
正如您已经指出的那样,ĂĄ
似乎是非 UTF8 文档中显示的 á
字符的 UTF8 表示。
您可以使用 iconv() 在字符集之间进行转换。但是,请注意,非 Unicode 字符集不能代表完整的国际字符集,因此必须将缺失的字符转换为 HTML 实体。例如:
<?php
$domain = idn_to_utf8($domain);
echo htmlentities($domain, ENT_COMPAT, 'UTF-8');
?>
无论如何,对整个项目使用 UTF-8 可能会更容易。
关于php - 我如何在 php 中编码和解码来自 IDN 的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221616/
在 Ubuntu 20.04 及更早版本(以及 Debian 11、10 和 9)中,我可以将带有 idn 的 Puny 代码域转换为 UTF-8/IDN 格式 idn -t --quiet -a "
Some people will reply that domain names are not case-sensitive. In the new Unicode world this is no
为什么有些 IDN 不可逆: String domain = "aʼnċăwb7rňuħ.eu"; System.out.println(domain); domain = IDN.toASCII(do
我正在研究主机名检查的额外 SSL 要求。想知道DN中的A-label和U-label是什么。 谢谢 最佳答案 以下是 ICANN 的定义: 一个标签 国际化域名的 ASCII 兼容编码 (ACE)
我正在使用 URI 类来分解字符串 url。 getHost()方法在有特殊字符时返回null。 如:http://✪df.ws/g44 It was suggested to use the IDN
基于这篇文章link text 我想出了一个 javascript 的正则表达式 \b(([\w-]+:\/\/?|[\w\d]+[.])?[^\s()<>]+[.](?:\([\w\d]+\)|([
我需要编写一个查询来检索大量 id 列表。 我们确实支持许多后端(MySQL、Firebird、SQLServer、Oracle、PostgreSQL ...),因此我需要编写标准 SQL。 id 集
我的应用程序中有 twitter-text gem。 当我进行捆绑安装时,出现以下错误。 需要优先解决它。 我还去了github页面https://github.com/twitter/twitter
如何向非 Ascii 电子邮件 ID 发送电子邮件,例如,我将 adad@ÄÖß.com 作为电子邮件 ID,当我尝试使用 向该电子邮件 ID 发送电子邮件时 sendTo="adad@ÄÖß.com
我希望我的域名不包含超过一个连续的 (.)、'/' 或任何其他特殊字符。但它可以包含 IDN 字符,例如 Á、ś 等。。我可以通过使用此正则表达式来满足所有要求(IDN 除外): @"^(?:[a-z
Facebook Connect 是否支持带有特殊字符(例如 æ、ø、å)的 IDN 域? 最佳答案 我对从 WordPress 到 FB 的共享有同样的问题。问题显然出在 Facebook 方面。参
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
转换 internationalized domain name 的最佳方法是什么?到它的 ASCII 形式? 我想通过使用一些方法将 Bücher.ch 转换成 xn--bcher-kva.ch某种
如果我使用诸如 www.äöü.com 之类的域,有什么方法可以避免它在用户中显示为 www.xn--4ca0bs.com ' 浏览器? 我猜像 www.xn--4ca0bs.com 这样的域名会给普
我正在尝试使用 http://exämple.se/path 的 IDN URL。或 https://äxämple.se/anotherpath?foo=bar&baf=bas这样我就可以像这样得到
我为 JSF 网页创建了一个 URL validator ,现在偶然发现了一个域问题,其中第一个单词(用点分隔)包含非 ASCII 字符。 我有以下有效网站网址http://testä.com。使用
我在使用 cURL 将图像放入动态内存缓冲区时遇到了一些问题。 使用的代码如下: struct memoryStruct { char *memory; size_t size; }; sta
当尝试发出此命令以从命令行发送文件附件时,出现错误: Bad IDN in "from": 'sd3.È' sd3 是我的主机名。 我正在执行的命令是: echo "See attached file
是否有任何良好的纯 C(或至少 C++)库来解析 URL,同时也支持 IDN , 这样它就可以很容易地解析像 http://президент.рф/ 这样的 url 最佳答案 有 Google UR
最近我重建了一些表格,以便他们接受国际域名,如 http://例子.测试 然后我会将这些存储为 punycode。在此之前,虽然我们运行了验证代码以使用 Coldfusions isValid() 检
我是一名优秀的程序员,十分优秀!