A5:SQL Mk-2

開発のこと、日々のこと

SQL_ASCIIの強制変換時の挙動について

ホーム フォーラム A5:SQL Mk-2掲示板 SQL_ASCIIの強制変換時の挙動について

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

    いつもお世話になっております。Garudaと申します。

    SQL_ASCIIの強制変換時の挙動について、お教え下さい。

    OS:Windows10 21H2 64bit

    A5:SQL Mk-2の設定
    バージョン:2.17.2(x64 edition ポータブルモード)
    接続方法:PostgreSQK(直接接続)
    DB種別:PostgreSQL
    プロトコルバージョン:3.0
    SSLモード:無効
    SSH2トンネル:SSH2トンネル経由で接続する
    データベースの文字コードがSQL_ASCIIの時文字列を強制変換する
    強制エンコーディング:SJIS
    文字列へのエンコーディングエラーを抑止する:ON/OFFいずれも事象が発生する

    接続先サーバ:CentOS 7.8
    DBMS:PostgreSQL 9.2.24
    データベースのエンコーディング:SQL_ASCII
    > SELECT character_set_name FROM information_schema.character_sets;
    character_set_name
    ——————–
    SQL_ASCII
    (1 row)

    > SHOW client_encoding;
    client_encoding
    —————–
    SQL_ASCII
    (1 row)

    このデータベースには、日本語文字列は全てShift-JISで格納されています。

    この環境で、「テーブルを開く」でテーブルを開き、「データ」タブで閲覧すると、正しい文字列で表示されるのですが、セル内で編集を行うと文字化けが発生します。
    書き込んだ文字列:テスト
    書き込まれた文字列:繝・せ繝・
    ※「テスト」をUTF8で保存し、Shift-JISで開いた時の文字化けに類似している。

    また、SQLエディタ上で、文字列を含むUPDATE分を実行すると、以下のエラーが発生します。
    (フィールド名等は伏せてあります)
    SQL : update xxxxxx set xxxxxx = ‘テスト’ where xxxxxx = 28195
    SQL : invalid byte sequence for encoding “UTF8”: 0x83

    どうも、UTF8でデータベース側には、値が渡っているようなのですが、
    そもそも、SQL_ASCIIの時文字列を強制変換は、書き込み時も反映できるのか、
    他に設定内容で注意すべき点があれば、ご教授いただけると幸いです。

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

    Garuda さんこんにちは。
     
    強制エンコーディングはかなり強引に実装した機能なので、本来は読み込み・書き込みとも動作するはずなのですが、ちょっとうまく動いていないのかもしれません。
     
    ちょっと調べてみたのですが、すぐにはわかりませんでした。解決はもうしばらくお待ちください。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
返信先: SQL_ASCIIの強制変換時の挙動について
あなたの情報:




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