Drkcore

22 02 2013 Python SQLAlchemy Tweet

SQLAlchemyとOracleの文字化け問題と闘った

WindowsのOracleにアクセスしてSQLAlchemyを使おうとすると日本語が化ける。

engine = create_engine("xxxxxxxx", encoding='cp932')

とcreate_engineまわりをいじっても全然改善できない。これはcx_Oracleまわりかなぁとそっち方面を攻めたら解決したのでメモ。

Oracleのエンコーディングを調べる

対象のDBにアクセスしてコマンドを叩く

SELECT value FROM nls_database_parameters WHERE parameter='NLS_CHARACTERSET';

JA16SJISTILDEという文字列が返ってきた。

環境変数を設定する

スクリプト中で環境変数を設定する

import os
os.environ["NLS_LANG"] = "JAPANESE_JAPAN.JA16SJISTILDE"

これで解決した。

ProductName 超変換!! もじバケる6 20個入 BOX (食玩)

バンダイ / 2100円 ( 2012-12-12 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021