sql >> データベース >  >> RDS >> PostgreSQL

これらの文字はXMLに有効ですか?

    tl; dr いいえ、それらは有効ではありません。エンコードにバグがあるか、入力に関する間違ったエンコード情報が通知された場合はどうでしょうか。

    55357と56842は、それぞれ16進数で0xD83Dと0xDE0Aです。

    Unicodeでは、それぞれ「高サロゲート」および「低サロゲート」と呼ばれる範囲にあります。

    つまり、ないということです。 適切なUnicodeコードポイントですが、UTF-16で使用され、16ビットに収まらない単一のUnicode値(つまり、基本多言語面)を構築します。

    これらの2つの特定の値は、 U + 1F60A SMILING FACE WITH SMILINGEYES<にデコードされます。 / a> 。そのための正しい10進数のHTMLエンティティは&#128522;になります 。

    これの最も可能性の高い理由は、UTF-16について知らないか考えた このテキストはUTF-16ではエンコードされていません(ただし、これらの値が無効であることを検出し、その場合でもエラーを報告する必要があります)。




    1. MySQLでのLOCATE()関数のしくみ

    2. PostgreSQLでインデックスの一意性を削除する

    3. PHPでデータベースから複数の行を取得する方法

    4. URLテキストの圧縮(短縮ではない)とmysqlへの保存