Witam serdecznie,
mam problem z kodowaniem polskich znaków. Pobieram je z pliku Excela, gdzie są zapisane polskie znaki, podczas wykonania wyświetlenia strinaga pojawiają mi się kwadraciki, a kolejne znaki są ucinane. Następnie, gdy je dodaje do bazy danych MS Access pojawia ją się znaki zapytania a dalszych znaków nie ma dalej
podczas połączenia z bazą danych mam ustawione kodowanie na
Properties props = new Properties();
props.put("charSet", "Cp1250");
próbowałam tu zmieniać na wszystkie chyba dostępne kodowania, ale i tak nie zmienia wszystkich znaków. Wydaje mi się że powinnam ustawić kodowanie z jave, ale nie wiem jak ...
Moja metoda która czyta i dodaje dane przedstawia się w następujący sposób:
public void zaladujPlik(Plik plik) {
Workbook plik_c = null;
int index = 0;
try {
Connection conn_ola = Connection_ola();
File infile;
String pathname = "";
File fFile = new File("Wybierz plik " + plik + " formatu xls");
JFileChooser chooser = new JFileChooser();
chooser.setSelectedFile(fFile);
chooser.setDialogTitle("Okno wyboru pliku");
chooser.addChoosableFileFilter((new XLSFilter()));
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
infile = chooser.getSelectedFile();
if (infile.getAbsolutePath().endsWith(".xls")) {
pathname = infile.getAbsolutePath();
plik_c = Workbook.getWorkbook(infile);
int ilosc_arkuszy = plik_c.getSheets().length;
for (int ii = 0; ii < ilosc_arkuszy; ii++) {
try {
Sheet arkusz = plik_c.getSheet(ii);
for (int i = 4; i < 10; i++) {
Cell L_p = arkusz.getCell(0, i);
Cell Kolumna_1 = arkusz.getCell(1, i);
Cell Kolumna_2 = arkusz.getCell(2, i);
String k_L_p = L_p.getContents();
String k_Kolumna_1= Kolumna_1.getContents();
String k_Kolumna_2 = Kolumna_2.getContents();
index++;
System.out.println(k_Kolumna_2);
sta.executeUpdate("INSERT INTO " + plik + ""
+ "( id_" + plik + ", L_p, Kolumna_1 , Kolumna_2 )"
+ " VALUES (" + index + ",'" + k_L_p + "','" + k_Kolumna_1 + "','" + k_Kolumna_2 + "')");
plik_c.close();
conn_ola.close();
System.out.println("Odczyt zakończony sukcesem.");
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
jak zamienię metodą
Kolumna_2.getContents().replace("?","ó")
zameinia ale nie ma kolejnych znaków.
np tak to wygląda : Krak? -> Krakó
Prosiłabym uprzejmie o wskazówkę ..