質問: new String(bytes1, "UTF-8"); をすることでANSIの文字列がUTF-8に変換される、といった解釈で良いでしょうか。 よろしくお願いします。
回答: まず、ANSIというコードセットは英数字記号だけ(俗に言う1バイト文字)の文字コードです ですので、日本語がある、という時点で、それはANSIではないので、なんの文字コードか、というのを調べる必要があります で、何らかの文字コードからUFT8に変換する方法ですが、 「Java UTF8 変換」でぐぐるといろいろ解説が出てきますので、みてみてください。 -- 追記 -- 元文字コードがShift-JISということでしたので、「Java SJIS UTF8」でぐぐってみました その中で参考になりそうなところは、 https://dev.classmethod.jp/server-side/java/csv_read_java_char_trans/ まさにSJISのファイルをUTF8にして読み込んでますね んで、気をつけないといけないところは、Java の標準の文字コードはUTF16だ、ということです まず、ファイルの読み込みをShiftJISとして読み込む(ということはプログラム内部でUTF16で保存される) そして、データベースに保存するときには、(UTF16から)UTF8に変換しなければいけない、ということですね