0
  1. Use Javascript for coding

  2. Thai language text file is enconding with ANSI

  3. setting Collation in SQL is utf8_unicode_ci

  4. show text before insert to database it can be show thai language like this บริษัท

  5. I check in database it show ??????????????????

  6. show data from database show ??????????????????

  7. It is my coding

//Connect data base
            Connection connect = null;
            Statement s = null;    
            Class.forName("com.mysql.jdbc.Driver");
            connect =  DriverManager.getConnection("jdbc:mysql");
            s = connect.createStatement();      

//import txt file             
            FileInputStream file = new FileInputStream("text.txt");
            BufferedReader reader = new BufferedReader(new InputStreamReader(file));
            String line;
            int i=0;
            
//loop while read txt file
            while((line = reader.readLine())!= null)
            {
                int flag=0;
                String sql = "";
                String tbInsert = "";

 //loop for cut | and insertา Array               
                String[] split = line.split("\\|");               
             
                for (i = 0; i<split.length; i++)
                {
 
//loop for cut black space               
                    split[i] = split[i].trim();

//read data
                    if(split[0].substring(0,3).equals("001") && flag==0)
                    { 
                   
                        tbInsert = "header";
                        String SQL_INSERT = "INSERT INTO header (Record_Type,Sender,Data_Date,Create_Date,Create_Time) VALUES (?,?,?,?,?)";
                        PreparedStatement preparedStatement = connect.prepareStatement(SQL_INSERT);
                        
                        for (int j = 0; j < 5; j++) {
                            preparedStatement.setString(j + 1, new String(split[j]));
                        }

                        int row = preparedStatement.executeUpdate();
                    }

                     if(split[0].substring(0,3).equals("999") && flag==0) 
                    {
                        tbInsert = "summary";
                        String SQL_INSERT = "INSERT INTO summary (Record_Type,Record_Type_002,Summary_Record_Type_002,Record_Type_003,Summary_Record_Type_003,Record_Type_004,Summary_Record_Type_004) VALUES (?,?,?,?,?,?,?)";
                        PreparedStatement preparedStatement = connect.prepareStatement(SQL_INSERT);

                        for (int j = 0; j < 7; j++) {
                            preparedStatement.setString(j + 1, new String(split[j]));
                        }

                        int row = preparedStatement.executeUpdate();
                    } 
                    flag++;    
                } 
            }

how to solv database can insert and read thai language

Mariel
  • 3
  • 2

0 Answers0