-PR-
解決済み

Oracle8の文字コードについて

  • すぐに回答を!
  • 質問No.6275
  • 閲覧数356
  • ありがとう数15
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 49% (55/112)

SolarisはEUCで、オラクルデータベースはsjisです。
この場合、Solaris上でPro*CでC言語アプリを作成した場合、日本語文字列の扱いについて特に意識する必要はあるのでしょうか?
NLS_LANGの設定だけで大丈夫なのでしょうか?
SQL*NETが自動で変換してくれるのでしょうか?
よろしくお願い致します。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル7

ベストアンサー率 45% (5/11)

テーブル名や項目名に漢字(全角文字)を使用している場合、注意が必要です。そのままだと、EUCなので、別物扱いになってしまします。

対策としては、パソコンなどのSJISマシンで、ソースを作成し、solarisマシンでEUC変換(コマンドとしてはsjtoeucなど)を行い、Pro*C→コンパイル→リンクという流れになります。

ただ、solaris上でデバッグするときORACLEが吐き出すメッセージはSJISになる為、文字化けを起こすので、厄介です。(動作ログなどをファイルに書き出すようにして、SJIS→EUC変換して内容を確認するなど。)

仕事でしょっちゅうこのパターンを経験してますが、面倒でかないません。
補足コメント
mioya

お礼率 49% (55/112)

早速のご回答ありがとうございます。

テーブルや項目名に漢字を使用していなければ、あとは問題ないのでしょうか?
気になっている事は、例えば、文字列の比較等の場合で、EUCの文字列(Cソース内)とsjisの文字列(Oracleからのデータ)で比較してしまうのか?とか、Oracleから拾ってきたデータをファイルに出力した場合、sjisでファイルが作成されてしまうのではないか?、というところです。
SQL文を発行して得たデータがEUCコードに変換されて返ってくるなら問題ないのですが。
変換はSQL*NETがやってくれるのですよね?
説明が下手で申し訳ないです。
投稿日時 - 2000-08-11 12:25:07

その他の回答 (全1件)

  • 回答No.2
レベル7

ベストアンサー率 45% (5/11)

SQL*Netを使用し、NLS_LANGなどをEUCに設定してあれば、データは変換されます。
お礼コメント
mioya

お礼率 49% (55/112)

ありがとうございました。本当に助かりました。
投稿日時 - 0000-00-00 00:00:00


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ