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

OracleUnicodeスプーリング

    適切な設定を使用すると、スクリプトはSQL*Plusで機能します。これが私がそれをテストするためにしたことです:

    • (明らかに)データベースはUnicodeをサポートしている必要があります。必要に応じてNVARCHAR2を使用してください。
    • クライアントアプリケーションを正しくセットアップします。 NLS_LANG変数が正しく設定されていることを確認してください。Unicodeをサポートしている必要があります。 AMERICAN_ENGLISH.UTF8に設定しました 。 SQL * PlusのDOSウィンドウにはすべてのUnicode文字が表示されるわけではありませんが、ファイルに正しくスプールされます。
    • (もちろん)スプールファイルを読み取るアプリケーションが正しい文字セットでファイルを開くことを確認してください。

    スクリプトについて:

    SQL> select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET';
    
    PARAMETER          VALUE
    ------------------ ------
    NLS_CHARACTERSET   UTF8
    
    SQL> create table street_points (data varchar2(10));
    
    Table created
    
    SQL> INSERT INTO street_points VALUES (chr(53401)||chr(53398));
    
    1 row inserted
    

    これにより、ロシア語の文字ЙЖ

    が挿入されます
    SQL> SPOOL STREET_POINT_THR.BQSV
    SQL> SELECT * FROM STREET_POINTS;
    ðÖðû
    SQL> SPOOL OFF
    

    正しい文字セット(UTF-8)を使用してテキストエディタ(私の場合はjEdit)で開いたファイルは、文字を正しく表示します。



    1. インデックス作成はどのように機能しますか

    2. JSON_PRETTY()–MySQLで読みやすくするためにJSONドキュメントをフォーマットする

    3. GoアプリでDb接続の開閉を処理するにはどうすればよいですか?

    4. intをvarcharにキャストします