• ベストアンサー

PL/SQLでSJISの文字コードを取得可能でしょうか

失礼いたします。 PL/SQLでSJISの文字コードを取得したいのですが可能でしょうか。 文字コードのみを取得したいので、CONVERT関数やCHR関数などの変換関数は不要です(WIN拡張以外の外字判定に使用するため)。 ORACLEは8iです。 どなたかご存知の方、いらっしゃいましたら教えていただけませんでしょうか。 よろしくお願いいたします。

  • Oracle
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

>CONVERT関数やCHR関数などの変換関数は不要です SJISで運用しているので、変換は要らない、という意味ですか? データベースキャラクタがSJISでない場合は、CONVERT関数を使って、 SJIS化した文字列を作らないと、SJISのコード値は得られませんよ。 SJISの文字列であれば、ASCII関数で10進のコード値は1文字づつ取れると思いますよ。 (16進のコード値が欲しいなら、RAWTOHEX関数で)

isohiyo
質問者

お礼

k_o_r_o_c_h_a_nさま、 ご回答、ありがとうございます。 インプットはSJISです。 RAWTOHEXで試してみたら問題なく取得できました。 工数激減で大変助かりました(テキストの状態でCで対応しようかなどと考えていたので)。 本当にありがとうございました!!

関連するQ&A

  • VB2005でJIS拡張漢字の各文字コードを取得する方法

    ある関数に文字列を渡して各文字コードを取得するプログラムを作成しようとしています。 基本的な文字のコードは取得できるのですが、JIS拡張漢字のほとんどが正しく取得できません。 失敗している文字は内部的に「?」(3F)となってしまいます。 例:拡張漢字のコード値(SJIS:81B2)を変換するとコード値が「3F」になってしまう。(テキストエディタなどで文字化けすると「?」に化けるのと同じなのかな?) 正しく文字コードを取得する方法をご存知の方、またヒントなどありましたらよろしくお願いします。 【環境】WindowsXP     VisualBasic2005 【プログラムの流れ】例:SJISコードを取得する場合 文字列を受取る→1文字取得→System.Text.EncodingでSJIS指定のバイト型配列文字に変換(文字コードを取得)

  • SQLである文字コード(外字)を変換したい

    SQL PLUSである文字コード(外字)をアルファベットのPに置き換えたい場合、 どのようにすればいいでしょうか? なお、変換したい文字は、文字コードのみ分かっており"f07c"というコードです。 よろしくお願いします。

  • SJIS→EUCに送っても文字化けしない

    htmlは、SJISで作っています。 PHPは、EUCで作っています。 普通は文字化けをするため、mb_convert_encoding関数を用いますが、 なぜか、この関数を使わなくても、文字化けしません。 友人は、有り得ないと言います。 事実、友人PCではmb_convert_encoding関数で文字化けを直してました。 私も友人に同感で、SJIS→SJISやEUC→EUCなら文字化けしないけど、文字コードが違うのです。違うから、mb_convert_encoding関数を使うと、思っているのですが‥‥ 設定が違うのかと思い、友人の、php.iniなどいくつかのファイルを私のPCに上書きしてもらいましたが、変わりませんでした。 こういうことってあるのでしょうか? 文字化けしないなら、mb_convert_encoding関数を使わなくて良いので、楽だと思いましたが・・・ 何かの不具合なら、いざ完成した時、またmb_convert_encoding関数をいれる手間がありますし、どうしようか迷っています。 本には、「文字化けしない場合もある」という記述は一言も書いてありませんでした。 逆に、「文字化けするからmb_convert_encoding関数を用いる」と大きく書いてあるぐらいです。 何かの設定なのでしょうか? ソフトのバージョンも、同じでした。不思議です。

    • ベストアンサー
    • PHP
  • 文字コードsjisをUTF8に書き換えたい

    CGIの勉強中の者です。 文字コードはSJISで保存しているCGIをUTF8コードに換えるには何が必要でしょうか? HTMLならmeta内をSJISからUTF8に変更し、TeraPadなどのテキストエディタでUTF8に保存すればオッケーなんですが。 CGIの場合はHTMLと違って、換えるには複雑なのでしょうか? CGIプログラムの中では以下の「sjis」を「UTF8」に書き換えし、UTF8で保存しましたけど、文字化けが出てます。 <meta http-equiv="Content-Type" content="text/html;charset=shift_jis"> &jcode'h2z_sjis(*contenido) &jcode'convert(*subject,'sjis'); &jcode'convert(*infor,'sjis'); &jcode'convert(*contenido,'jis'); &jcode'convert(*res_msg,'jis'); print "Content-type: text/html;charset=shift_jis\n\n"; 宜しくお願いします。

    • 締切済み
    • CGI
  • UTC-8→SJISで文字化け

    こんにちわ!宜しくお願い致します。 現在、オープンソースのアンケートシステム「limesurvey」におきまして、文字化けが起きており困っております。 LimeSurveyバージョン 1.90+ Build 9046 ほとんどのところは、きちんと日本語表示されるのですが、グラフ内(pchart)の文字が文字化けします。 いろいろネットで調べて、imagettftextが原因と分かりました。 「JIS-mapped Japanese Font Support」の設定値がTRUEの場合、GDライブラリは渡された文字列をUTF-8ではなく、Shift_JISとして解釈するということが分かり、mb_convert_encoding関数であらかじめShift_JISに文字コード変換してから、imagettftext関数に渡したところ基本的には、文字化けが解消しました。 以下が、そのコードです。 $Value2 = mb_convert_encoding($Value2,"SJIS ","UTF-8"); しかしながら、「(1)(2)(3)」(←まる1、まる2、まる3)などの機種依存文字がどうしても「?」に変換されてしまいます。 Shift_JISには、「(1)(2)(3)」などの機種依存文字が無いので仕方がないのですが、何とか良い方法が無いでしょうか? ちなみにネットで調べたところ、「SJIS」ではなくて、「SJIS-win」で変換すれば文字化けが起こらないと分かりましたが、今度は、imagettftextでエラーが出てしまいます。 下記のコードはエラーになります。 $Value2 = mb_convert_encoding($Value2,"SJIS-win ","UTF-8"); 「JIS-mapped Japanese Font Support」の設定値がTRUEの場合でも、GDライブラリは渡された文字列をUTF-8として強制的に解釈させる方法など無いのでしょうか?その他何か良い方法があればお教え下さい。 以上、宜しくお願い致します。

    • 締切済み
    • PHP
  • SQL ServerのUNICODE設定について

    SQL Server 2005を使っていますが、SJIS形式で格納された、Oracleの データを、SQL ServerのUNICODEで構成されたテーブルに、ロードする 必要があります。 Oracleでは、異なる文字コードの場合、SQL Netが自動的に、文字 コードを判断して、自動変換してくれますが、SQL Serverでは、 どのようになりますか?SQL Native Client等が、自動変換してくれる のでしょうか? お手数ですが、どなたかお教え下さい。

  • jcode.pl

    日記などのスクリプトを作成しているのですが、とりあえず今まで、そこまでの理由もわからず他のスクリプトに習ってjcode.plをデコード処理部で &jcode'convert(*value,'sjis'); &jcode'convert(*name,'sjis'); のように使ってきました。 ですが、たまたま今回、jcode.pl等を書き忘れてしまったのですが、ブラウザから投稿してみても文字化けという文字化けが起こりません。スクリプト自身はsjisで書いています。ログファイルもどうやらsjisコードで書き込まれているようなのですが、それでもjcode.plは必要なのでしょうか。windows XP にApache + Active Perl での動作と、@niftyで設置して動作を確認しました。 この場合、jcode.plは必要あるのでしょうか?

    • ベストアンサー
    • Perl
  • ブロンズからPL/SQL 開発者の資格取得を目指していいか

    ORACLE MASTER Bronze Oracle Database 11gは取得しました。 次はORACLE MASTER Silver Oracle PL/SQL Developerの資格を取得したいと思います。 ですが、先にORACLE MASTER Silver Oracle Database 11gを取得しておいた方が、PL/SQLの資格を取得するにあたって知識の習得が楽になるのでしょうか?

  • PL/SQLで実行したSQLのログの取得について

    ASP(ActiveServerPage)より、PL/SQLのFunctionを実行し、Oracleの複数のTABLEを更新しようとしています。 ASPから実行する際には、引数を渡し、その引数をSQL実行の条件としていますが、実際に実行されたSQL文のログを取得したいのですが、どうしたらよいでしょうか? 何か良い方法をお教えいただけますよう、よろしくお願いいたします。 [実行環境] DB:Oracle8i

  • PL/SQLのアドバイスをお願いします。

    主にオラクルのデータをAccess2000からレポートして使っています。 〒コードが、数字データで保存してあります。 例)3430123 今はクライアントPC側のAccessで 例) 343-0123 と計算させて利用しています。 こういった計算はオラクル側でPL/SQLなどを利用したほうが効率はいいでしょうか? それとも毎回計算させるのであれば、クライアント側かサーバ側で計算速度に違いはありませんでしょうか? ※実際にはオラクルの〒コードのフィールドが数値になってしまっているので、 コードが5~7桁とデータがまちまちになってしまっています。 例)北海道 0013304 → 13304 (とオラクルで保存) データを利用するとき、5桁と判断して001-3304 と計算させています。 00で始まる番号、0で始まる番号、0以外で始まる番号の3種類データがあります。 まだ、PL/SQLを利用したことがないのですがこれから活用しようと考えています。