0

ユーザーがデモで好きな曲をツイートできるようにしたいただし、URLにトルコ語の文字が含まれている場合、Twitterは画像のように最初のトルコ語の文字の直後からURLを分割します ここに画像の説明を入力
ツイートのURLは似ている必要がありますmyurl.com/?view=s&artist=demet%20akıalın&track=ışık%20hğzmesi が、直後にカットされますdemet ak

私が使用するコードはここにあります:

<?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>
4

1 に答える 1

0

Twitterはそれを正しくやっています。HTTP/1.1 仕様によると、URL に非 ASCII 値を含めることはできず、一部の ASCII 値はパーセントでエンコードする必要があります。

ı文字は非 ASCII であるため、スペースがなくてはならないのと同じように、パーセントでエンコードする必要があります。%20

echo rawurlencode(utf8_encode(APP_BASE_URL.'?view=s&artist='.$a[artistname].'&track='.$a[trackname]));
于 2012-12-24T15:41:38.467 に答える