teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問内容の修正に伴って回答の追記

2018/03/05 02:10

投稿

y_waiwai
y_waiwai

スコア88178

answer CHANGED
@@ -2,4 +2,14 @@
2
2
  ですので、日本語がある、という時点で、それはANSIではないので、なんの文字コードか、というのを調べる必要があります
3
3
 
4
4
  で、何らかの文字コードからUFT8に変換する方法ですが、
5
- 「Java UTF8 変換」でぐぐるといろいろ解説が出てきますので、みてみてください。
5
+ 「Java UTF8 変換」でぐぐるといろいろ解説が出てきますので、みてみてください。
6
+
7
+ -- 追記 --
8
+ 元文字コードがShift-JISということでしたので、「Java SJIS UTF8」でぐぐってみました
9
+ その中で参考になりそうなところは、
10
+ https://dev.classmethod.jp/server-side/java/csv_read_java_char_trans/
11
+ まさにSJISのファイルをUTF8にして読み込んでますね
12
+
13
+ んで、気をつけないといけないところは、Java の標準の文字コードはUTF16だ、ということです
14
+ まず、ファイルの読み込みをShiftJISとして読み込む(ということはプログラム内部でUTF16で保存される)
15
+ そして、データベースに保存するときには、(UTF16から)UTF8に変換しなければいけない、ということですね