6

PHP API を利用したアプリで絵文字サポートを有効にするように依頼されました。アプリは現在 iPhone のみです (私は持っていませんが、絵文字が付いていると思いますか?)。

とにかく、何らかの理由でデータベースがどこでも latin_swedish を使用していることに気付きました。しかし、絵文字の全範囲に必要な 4 バイトの文字列を utf-8 がサポートできるかどうか確信が持てなかったので、ググってみましたが、結果から完全な答えを得ることができませんでした。

そう:

  1. 絵文字をサポートするには、文字セット/照合順序を mysql で utf-8 に設定する必要がありますか、または utf-8 mb4 に設定する必要がありますか?

  2. charset を utf8mb4 に設定する必要がある場合、utf8 と utf8mb4 の違いは何ですか (とにかく utf8 は最大 4 バイトをサポートしますよね?)。文字を固定幅の 4 バイト表現で格納するように強制しますか (通常は 1 バイトである標準の ASCII 範囲でも、文字ごとに 4 倍以上の記憶域が必要であると仮定します)。

  3. mysqlクエリでutf8をutf8mb4と比較できますか? 別のテーブルの utf8 列に対して utf8mb4 文字セットの全文検索または where 句を実行しようとするとどうなりますか?

  4. PHP は、mb_string のような特別なライブラリを使用せずに 4 バイト文字列をサポートしますか? つまり、割り当て$var = $_POST['text']て次のようなことを行うことができ$emoji_var == 'xxxx'ますか、それとも PHP のすべての文字列を文字通り変更して mbstring を使用し、すべてのコンパレータを変更する必要がありますか?

絵文字をサポートするためにどれだけの作業が必要か、またその際の注意事項を調べてみました。だから、どんな助けも素晴らしいでしょう。

4

0 に答える 0