サイト運営 雑記

ブログ記事のタイトルに%を入れるとツイートボタンが使えない

[PR]記事内のアフィリエイトリンクから収入を得る場合があります

f:id:photoblg:20160724000856j:plain

追記:2016/8/23

こんにちは。今回はちょっと短いエントリーです。

これの話を少しだけ詳しく。

ツイートボタンを押すと真っ白になる

前回「【高速充電・大容量】おすすめのモバイルバッテリー【最大59%off】」というタイトルで記事を投稿しました。

www.weblog-life.net

本来ならこんな感じで出て欲しいんですが、

f:id:photoblg:20160723235210p:plain

こんな感じになってしまいます。

f:id:photoblg:20160723225107p:plain

原因と対応方法

Twitterの投稿にタイトルを含めている場合、投稿URLにタイトルが含むため、URLエンコードが正しくされず真っ白になります

投稿できるURL

https://twitter.com/intent/tweet?text=%E3%80%90%E9%AB%98%E9%80%9F%E5%85%85%E9%9B%BB%E3%83%BB%E5%A4%A7%E5%AE%B9%E9%87%8F%E3%80%91%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%83%90%E3%83%83%E3%83%86%E3%83%AA%E3%83%BC%E3%80%90%E6%9C%80%E5%A4%A759%EF%BC%85off%E3%80%91%20http%3A%2F%2Fwww.weblog-life.net%2Fentry%2Fmobile_battery&via=weblog_life

投稿できないURL

https://twitter.com/intent/tweet?text=【高速充電・大容量】おすすめのモバイルバッテリー【最大59%off】%20http%3A%2F%2Fwww.weblog-life.net%2Fentry%2Fmobile_battery&via=weblog_life

手っ取り早く、ツイートできるようにするには半角の%を全角の%に変更すればOKです。

タイトルに%が含む場合、置換するように変更しようと思ったのですが、タイトルに「%」が含む記事もたいしてないので、直接変更しました。

他にも正しく動作しない文字

あまり記事タイトルに入れないとは思いますが「#」も、タイトルに含むと区切り文字と判断されてしまい途中で切れてしまいます。こちらも同様に全角にしておけば、正しく表示されます。

2016/8/23追記

他にもダメな文字列をご連絡していただきました。きったん (id:beed)さん、みるおか (id:salawab)さんありがとうございます!

URLで使えない文字列

< > # " % \ ' | ` ^ " < > ) ( } { ] [

  • %はURLエンコード時エスケープ文字として使われるため不可。
  • #はアンカーリンクなどでも使われているようにURI参照で使われるため不可

なるべくなら半角英数、ハイフン、アンダーバーぐらいで作成したほうがトラブルがないです。

最後に

普段自分でツイートボタンを押したりすることもないとは思いますが、定期的な動作確認は必要ですね。という話でした。ちなみに最初から全角の%が入っていれば問題ないです。

-サイト運営, 雑記