A5:SQL Mk-2

開発のこと、日々のこと

サロゲートペア文字が入力できない

ホーム フォーラム A5:SQL Mk-2掲示板 サロゲートペア文字が入力できない

  • このトピックには3件の返信、1人の参加者があり、最後にtakにより4ヶ月前に更新されました。
4件の投稿を表示中 - 1 - 4件目 (全4件中)
  • 投稿者
    投稿
  • #6490 返信
    tak
    ゲスト

    こんにちは。

    SQLite3のText型フィールドに対し、A5でテーブル内容を表示しているデータグリッドからサロゲートペア文字を入力しようとすると「Key fields not found」のメッセージが表示され、入力できません。
    (例:「土」の下に「口」の「よし」、「魚」の右に「花」の「ほっけ」)
    お手数ですが、ご確認お願い致します。

    #6491 返信
    tak
    ゲスト

    なお、クエリで
    update テーブル名 set カラム名 = ‘サロゲートペア文字’
    を実行後にデータグリッドを表示すると、正しく表示されます。

    #6495 返信
    松原正和
    キーマスター

    takさんこんにちは。
     
    SQLiteで型名に長さを指定せずTEXTだけ記述すると、長さが不明であるため内部的にはCLOBとして扱われます。これは開発ツールであるDelphiの制約なのですが、CLOBの場合、主キーとして扱うことができなくなってしまいます。
     
    このため、長さの指定されないTEXT型を主キーとして使用すると、サロゲートペアでなくとも、レコードが更新できなくなるようでした。
     
    Version 2.15.0 release candidate 1で、デフォルトの動作モードで、長さの指定されないTEXT型をCLOBではなく文字列型として認識するようにしました。
     
    ただし、長さは8192バイト以下に制限されます。8192バイトを超えるTEXTを扱うには、オプションダイアログから「TEXT型及び不明な型をラージオブジェクト(CLOB)型ではなく、文字列型として扱う」のチェックをOFFにしてください。

    #6497 返信
    tak
    ゲスト

    こんにちは。
    Version 2.15.0 release candidate 1 で問題がないことを確認しました。
    素早い対応ありがとうございます。

4件の投稿を表示中 - 1 - 4件目 (全4件中)
返信先: サロゲートペア文字が入力できない
あなたの情報:




コメントは受け付けていません。