@pnt_falcon

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

iosのアプリ開発にて、4バイト絵文字を表示したいと思っています。

iosのアプリ開発にて、4バイト絵文字を表示したいと思っています。
PHPのAPIを利用して4バイト絵文字を表示したいのですが、「?

」になってしまいます。
DBには絵文字は正しく保存され、PHP側では問題なく4バイト絵文字が表示は出来ているのですが、
(Mysqlはutf8mb4に対応しています)
APIでiOSに渡すと「?」になってしまいます。。。

swift側で
保存する際にString.Encoding.nonLossyASCIIでエンコードしてからDBに保存し、
表示する際にString.Encoding.nonLossyASCIIでデコードすれば表示は出来るのですが、
DBに保存される文字列が日本語ではなくなってしまいます。
DBに日本語で保存しつつ、アプリ側で4バイト絵文字を表示する方法は無いのでしょうか?

0 likes

1Answer

Comments

  1. @pnt_falcon

    Questioner

    ご回答ありがとうございます!
    base64で対応しようかと思ったのですが、
    API側のSQLでSET NAMES utf8mb4をセットした変数を再利用していたのが原因でした。。。
    2個目のSQLを発行する際、再度SET NAMES utf8mb4を設定したら問題なく取得できましたm(_ _)m
  2. 解決してなによりです

Your answer might help someone💌