Apple絵文字(emoji)が文字化けっていうか四角に囲まれた「A」みたいな子が出てくる
のを、修正した問題。
ハマってしまってかなり時間がかかった。
まず、ただのUILabel.textならなんともないのを確認。
なのにAttributedtextにしたら、本来なら絵文字が出るべきところでアルファベットの「A」がグレちゃったみたいな子が出てくるの。AttributedStringを使って色つけたりしてるんで、ないと困るんですけど…><
何ていうんだろう…。
少年Aの引きこもり。みたいな。
少女Aの隠された過去。みたいな。
背中合わせの二人。みたいな。
そんな絵文字。
←こいつ。
しかもこやつが毎回じゃなくて、出現箇所によっては普通にお利口さんだったり、グレちゃったりでまちまち。
どうも末尾に現れるとグレやすいみたい。
さらに、UILabelの時だけ出てきて、UITextViewでは大丈夫なのも意味わからん。いっその事UITextViewに変えちゃおうかとも思ったけど、Storyboardを使っていたので諦めた。
「Aのへんなの」とか「Aの暗いの」でググってももちろん出てくるはずなく、途方に暮れていたら「Emoji garble」か何かで見つけた
(英語で文字化けはGarbleらしい。byGoogle先生)
そう!!そう!!キミだよキミィ!!
って嬉しくなったけど元々NSDataじゃねえし何なの…
ていうかmessed up とも言うのね。それは勉強になった。
さらに検索していたらやっと見つけました
説明を読む限りなんか症状は違う(絵文字そのものは無事で、後続の文字列に症状が現れているみたい)けど、もしかして末尾でグレやすいのは長さのせい…??
と閃いて、ダメ元でやってみた。
string.characters.count
を
string.utf16.count
に、したら見事解決!!
やった~><
どうもemojiってのは、カラーか白黒かを識別する文字がこっそりくっついているらしいのね。
そいつのせいで、1文字なのに2文字と誤認してしまう場合があるらしくて、そいつのせいだったみたい。
ところでこのAの黄昏てるヤツは一体何の絵文字だったのでしょう?
血液型のAとかかなぁ?
なら、逆向きのは何?RHマイナスとか?と妄想がふくらむ。
見つかりやすいように色々とキーワードを散りばめてみましたが、いかがでしょう?
もしも検索に引っかかって、参考になっていたら嬉しいです。
絵文字って、末尾につけることが多いですもんね~😑
ちなみに、検索していて見つけた情報ですが、MacではControl+Command+Spaceで絵文字の一覧が出ます。
どうでもいいですよ~🎤