|
furu様
返信ありがとうございます。
VARCHAR2とNVARCHARの違いを単純なバイト数の違いだけだと思っていました。
その後、プログラムを変更し下記のようにしてみたのですが、
文字コードの変換がうまくいきません。
処理が根本的に間違えているのでしょうか?
-- CSVファイル作成部品にて、CSVファイルを作成する。
FHANDLE := UTL_FILE.FOPEN(ファイルパス,ファイル名,'R',32767);
LOOP
-- ファイルデータ取得
UTL_FILE.GET_LINE( FHANDLE, VBUF);
-- ↓第1引数:文字列バッファ 第2引数:区切り文字 第3引数:取得列数 第4引数:代入先
IRTN := CSV切り出し自作関数(VBUF, ',', 2, R_CHOSAIN_TOTSUGOUEXCEL.SHIMEI_KANA);
-- 全角ひらがなに変換
WBUF := UTL_I18N.TRANSLITERATE (TRIM(R_CHOSAIN_TOTSUGOUEXCEL.SHIMEI_KANA), 'kana_hiragana');
-- SJIS→UTF8に変換
WBUF2 := CONVERT(WBUF,'UTF8','JA16SJIS');
-- テーブル追加
R_CHOSAIN_TOTSUGOUEXCELをCHOSAIN_TOTSUGOUEXCELにINSERT
END LOOP;
VBUFはVARCHAR2(4096);
WBUFはVARCHAR2(4096);
WBUF2はVARCHAR2(4096);
R_CHOSAIN_TOTSUGOUEXCEL.SHIMEI_KANAはNVARCHAR2(120)
|