import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
public class NewDocReader {
public static void main(String args[]) throws FileNotFoundException, IOException
{
File docFile=new File("c:\\multi\\multi.doc"); // file object was created
FileInputStream finStream=new FileInputStream(docFile.getAbsolutePath()); // file input stream with docFile
HWPFDocument doc=new HWPFDocument(finStream);// throws IOException and need to import org.apache.poi.hwpf.HWPFDocument;
WordExtractor wordExtract=new WordExtractor(doc); // import org.apache.poi.hwpf.extractor.WordExtractor
String [] dataArray =wordExtract.getParagraphText();
// dataArray stores the each line from the document
int pozicijaBlankoMesta;
for(int i=0;i<dataArray.length;i++)
{
pozicijaBlankoMesta=dataArray[i].indexOf(" ");
String SrpskaRec=dataArray[i].substring(0, pozicijaBlankoMesta);
String EngleskiPrevodSaEnter=dataArray[i].substring(pozicijaBlankoMesta+1,dataArray[i].length()-1);
String EngleskiPrevod=EngleskiPrevodSaEnter.replaceAll("\r", "");
int broj=i+1;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/recnik?useUnicode=true&characterEncoding=utf-8","root","korisnik");
Statement stmt=conn.createStatement();
String sqlStr="insert into reci (id, srpska, engleska) values ("+broj+ ",'"+SrpskaRec+"', '"+EngleskiPrevod+"')";
stmt.executeUpdate(sqlStr);
stmt.close();
conn.close();
} //kraj try bloka
catch (ClassNotFoundException ex) {
ex.printStackTrace();
}//kraj od ClassNotFoundException
catch (SQLException ex) {
ex.printStackTrace();
}//kraj od SQLException
//kraj try dela
}
finStream.close(); //closing fileinputstream
}
}
Obratite pažnju da sam stavio sledeći kod u konekcionom stringu:
"jdbc:mysql://localhost/recnik?useUnicode=true&characterEncoding=utf-8","root","korisnik"
U početku sam nisam stavio deo useUnicode=true&characterEncoding=utf-8 i nisu mi se ispravno ubacivali naši karakteri. Posle sam ubacio ovo u kod i onda mi se sada ispravno ubacuju podaci u bazu.
U phpmyadmin mi stoji sa sortiranje za mysql vezu utf-general-ci a takođe sortiranje za svaku tabelu je utf-general-ci. Isto je i sa skupom karaktera za bazu u koju ubacujem reči i ona je u skupu karaktera utf-general-ci.
Problem koji imam je sledeći. Kada hoću da ubacim englesko-srpske reči ne ubacuju se dobro karakteri koji označavaju izgovor engleske reči. One su formatirane preko "times phonetic ipa" i "times phonetic alternate" i ti karakteri mi se ne ubaciju dobro.
Evo i slike rtf dokumenta koji pokazuju o kojim karakterima se radi:

A evo i kako to izgleda u bazi:

Interesuje me koji skup karaktera je potrebno da primenim na bazi pa da mi se ispravno ubacuju i ovi karakteri.