QTextBrowser超链接单击丢失大写字母
我正在使用Qt4.6.3 当文本浏览器html具有引用时QTextBrowser超链接单击丢失大写字母,qt,url,Qt,Url,我正在使用Qt4.6.3 当文本浏览器html具有引用时 <a href="myprotocol://ABC"/>click me!</a> 如何修复它(我需要正确的大小写…?在这种情况下,ABC被解释为URL的主机(域名)。尽管格式不限制它,主机名不区分大小写,但建议URL区分大小写。例如,W3: URL通常区分大小写(机器除外) 姓名)。可能有URL,或URL的一部分,case不支持 这很重要,但识别这些可能并不容易。用户应始终 考虑URL是区分大小写的。< /P>
<a href="myprotocol://ABC"/>click me!</a>
如何修复它(我需要正确的大小写…?在这种情况下,
ABC
被解释为URL的主机(域名)。尽管格式不限制它,主机名不区分大小写,但建议URL区分大小写。例如,W3:
URL通常区分大小写(机器除外)
姓名)。可能有URL,或URL的一部分,case不支持
这很重要,但识别这些可能并不容易。用户应始终
考虑URL是区分大小写的。< /P>
我认为,浏览器也遵循这个规则:所有带有大写字符的URL都转换成小写。我在Chrome、FF和IE上尝试了这一点。在本例中,
ABC
被解释为您URL的主机(域名)。尽管格式不限制它,主机名不区分大小写,但建议URL区分大小写。例如,W3:
URL通常区分大小写(机器除外)
姓名)。可能有URL,或URL的一部分,case不支持
这很重要,但识别这些可能并不容易。用户应始终
考虑URL是区分大小写的。< /P>
我认为,浏览器也遵循这个规则:所有带有大写字符的URL都转换成小写。我在Chrome、FF和IE上尝试了这个功能。QUrl始终使用小写主机名。 QUrl符合RFC3986(统一资源标识符:通用语法)中的URI规范,并包括RFC1738(统一资源定位器)中的方案扩展。QUrl中的大小写折叠规则符合RFC 3491(Nameprep:用于国际化域名(IDN)的Stringprep配置文件) 请注意,QUrl所遵循的Nameprep中的大小写折叠规则要求主机名始终转换为小写,而不考虑使用的Qt::FormattingOptions (,最接近4.6.3)
如果您使用“假”URL只是在应用程序周围传递一些数据,那么可以通过使用虚拟主机名并将真实信息作为路径或查询传递来保留大小写。例如,
myprotocol:///ABC
(与编写localhost/ABC相同)。QUrl始终将主机名小写。
QUrl符合RFC3986(统一资源标识符:通用语法)中的URI规范,并包括RFC1738(统一资源定位器)中的方案扩展。QUrl中的大小写折叠规则符合RFC 3491(Nameprep:用于国际化域名(IDN)的Stringprep配置文件)
请注意,QUrl所遵循的Nameprep中的大小写折叠规则要求主机名始终转换为小写,而不考虑使用的Qt::FormattingOptions
(,最接近4.6.3)
如果您使用“假”URL只是在应用程序周围传递一些数据,那么可以通过使用虚拟主机名并将真实信息作为路径或查询传递来保留大小写。例如,myprotocol:///ABC
(与编写localhost/ABC相同)
myprotocol://abc