追記:2016/8/23
こんにちは。今回はちょっと短いエントリーです。
タイトルに%つけるときは全角にしないと、URLエンコードと区別つかなくなるから注意!>Twitterボタンの話
— ケー (@weblog_life) 2016年7月23日
これの話を少しだけ詳しく。
ツイートボタンを押すと真っ白になる
前回「【高速充電・大容量】おすすめのモバイルバッテリー【最大59%off】」というタイトルで記事を投稿しました。
本来ならこんな感じで出て欲しいんですが、
こんな感じになってしまいます。
原因と対応方法
Twitterの投稿にタイトルを含めている場合、投稿URLにタイトルが含むため、URLエンコードが正しくされず真っ白になります。
投稿できるURL
投稿できない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)さんありがとうございます!
&(半角)もダメですね / 他4コメント https://t.co/VSRu8UGllg “ブログ記事のタイトルに%を入れるとツイートボタンが使えない - ウェブと食べ物と趣味のこと” https://t.co/fQxMNTnZWz
— きったん (@beedhateblojp1) 2016年8月23日
@weblog_life
"もダメだった。
強調したい時は仕方なく『』使ってる— みるおか@レコメンタンク (@miru_oka87) 2016年8月23日
URLで使えない文字列
< > # " % \ ' | ` ^ " < > ) ( } { ] [
- %はURLエンコード時エスケープ文字として使われるため不可。
- #はアンカーリンクなどでも使われているようにURI参照で使われるため不可
なるべくなら半角英数、ハイフン、アンダーバーぐらいで作成したほうがトラブルがないです。
最後に
普段自分でツイートボタンを押したりすることもないとは思いますが、定期的な動作確認は必要ですね。という話でした。ちなみに最初から全角の%が入っていれば問題ないです。