在Twitter上共享时URL中的阿拉伯字符

问题描述 投票:11回答:4

我正试图在Twitter上分享包含阿拉伯字符的URL:

http://example.com/قرعة-تصفيات-أفريقيا-مصر-تواجه-نيجيريا/

当我点击“分享”时,推文框中会显示相同的网址,但是当我实际发推文时,它只会链接到qazxsw poi,而其余的网址则会丢失。

我尝试使用http://example.com,但生成的URL太长且不可能发送推文。我该怎么解决这个问题?

php twitter utf-8 urlencode arabic
4个回答
1
投票

如果您是网站的所有者,可以编写htaccess urlencode()以生成更短或英文网址或使用重定向文件。

RewriteRule

如果您是网站的用户,您可以使用网址较短的网站,如RewriteEngine on RewriteRule ^redirect/(.*)/?$ ./redirector.php?key=$1 [QSA,L,NC] bit.ly


0
投票

您可以在.htaccess文件上使用RewriteRule或使用URL更短的服务


0
投票

这是双方的问题:网络和演示。

Network

URL永远不会以ASCII字符以外的方式传递。例如,当您提出请求时

goo.gl

它会产生错误,或者取决于您的客户,例如Chrome,将转换为:

http://example.com/عربي

Presentation

Internet浏览器尽最大努力以最易读的方式呈现它。例如,当您请求以下URL时:

http://example.com/%D8%B9%D8%B1%D8%A8%D9%8A

Chrome会将其呈现给用户:

http://example.com/%D8%B9%D8%B1%D8%A8%D9%8A

Chrome还可以做些什么来处理复制和粘贴。因此,当您在顶部栏中复制URL并且它具有Unicode字符时,它将复制http://example.com/عربي 而不是http://example.com/%D8%B9%D8%B1%D8%A8%D9%8A。现在你需要做的是检查twitter如何处理这个问题。它可能已经做了一些演示以减轻用户体验。但是,在网络方面,你真的做不了多少。


-1
投票

我使用网址缩短网站,例如goo.gl;然而,发布一个普通的URL比较耗时。

© www.soinside.com 2019 - 2024. All rights reserved.