首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推特用高超的手切断我的网址

推特用高超的手切断我的网址
EN

Stack Overflow用户
提问于 2012-12-24 15:33:53
回答 1查看 117关注 0票数 0

我想让用户可以在demo中发布他们喜欢的歌曲,但是当url包含一个土耳其字符Twitter将url从像图像上的第一个土耳其字符之后分割开。

推特上的Url必须类似于myurl.com/?view=s&artist=demet%20akıalın&track=ışık%20hğzmesi,但它是在demet ak之后剪切的。

我使用的代码如下:

代码语言:javascript
复制
<?php
    define('APP_BASE_URL', 'http://www.myurl.com');
    header('Content-type: text/html; charset=UTF-8');
    $a['artistname'] = 'demet akıalın';
    $a['trackname'] = 'ışık hğzmesi';
?> 

<a target="_blank" title="Share on Twitter" href="https://twitter.com/share?hashtags=CruisEar&text=<?php echo $a['artistname']." - ".$a['trackname']; ?>&url=<?php echo urlencode(str_replace(" ","%20",APP_BASE_URL."?view=s&artist=".$a['artistname']."&track=".$a['trackname']));?>" data-url="https://dev.twitter.com" data-via="your_screen_name" data-lang="en"><img src="http://www.olmasigereken.com/demo2/img/twit.gif" alt="share on twitter" /></a>
EN

回答 1

Stack Overflow用户

发布于 2012-12-24 15:41:38

推特做得很对。根据HTTP/1.1规范,URL不能包含非ASCII值,某些ASCII值需要进行百分比编码。

ı字符是非ASCII的,所以它必须是百分比编码的,就像您的空间必须变成%20一样。

代码语言:javascript
复制
echo rawurlencode(utf8_encode(APP_BASE_URL.'?view=s&artist='.$a[artistname].'&track='.$a[trackname]));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14023161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档