A5:SQL Mk-2

開発のこと、日々のこと

Oracleのキャラクタ・セマンティクス時の4byte utf8

ホーム フォーラム A5:SQL Mk-2掲示板 Oracleのキャラクタ・セマンティクス時の4byte utf8

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #22907 返信
    hiro
    ゲスト

    Oracleのキャラクタ・セマンティクス時の4byte utf8の入力・表示が半分のサイズで扱われるようです。

    CREATE TABLE test1(
    hoge1 varchar2(10 CHAR)
    hoge2 varchar2(40)
    );

    INSERT INTO test1(hoge1,hoge2)values(‘𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋’,’𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋’);
    INSERT INTO test1(hoge1,hoge2)values(‘1234567890’,’1234567890’);

    とした場合、
    A5M2上でselectやテーブルのデータを表示した場合

    𠀋𠀋𠀋𠀋𠀋 𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋𠀋
    1234567890 1234567890

    と4バイトutf8の表示が半分の長さで表示されます。
    (データ自体はsqlplus等の結果10文字ちゃんと入ってる状態でした)

    また、テーブルのデータのタブから入力(Insert・update)しようとすると
    𠀋が2文字扱いになっているようで5個以上入力できないようです。

    ・DB
    NLS_CHARACTERSET AL32UTF8
    NLS_NCHAR_CHARACTERSET AL16UTF16
    ・A5M2
    NLS_LANG JAPANESE_JAPAN.JA16SJIS

    です。

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

    hiroさんこんにちは。
     
    返事が遅くなり申し訳ありません。こちら試せていないのですが、もしかすると直接接続をご使用でしょうか?
     
    この場合、Oracle Client を導入して Oracle Client 経由で接続すればとりあえず回避できるかもしれません。
    (InstantClient でも構いません)

2件の投稿を表示中 - 1 - 2件目 (全2件中)
返信先: Oracleのキャラクタ・セマンティクス時の4byte utf8
あなたの情報:




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