public void createBookSql(String ver) throws ParseException, IOException {
        StringBuilder sb = new StringBuilder();
        sb.append("-- \n");
        sb.append("-- generated by 2nd2go.org\n");
        sb.append("-- \n\n");
//        Charset charset = Charset.forName("US-ASCII");
        Charset charset = Charset.forName("UTF-8");
//      
//        if (ver.equals("tw")) {
//            charset = Charset.forName("UTF-8");
//        }
        Path file = Paths.get(BIBLE_BASE + "/sql/bible_" + ver + ".sql");

        for (int book = 1; book <= 66; book++) {
            int k = book - 1;
            int chapCnt = CHAPTER_COUNT[k];
            System.out.println("-- book#" + book + ", " + TITLE_EN[k] + ", " + TITLE_TW[k] + ", chapters=" + chapCnt);
            sb.append("\n-- book#" + book + ", " + TITLE_EN[k] + ", " + TITLE_TW[k] + ", chapters=" + chapCnt);
//
//        
//        

//        
//        
//        
            for (int chap = 1; chap <= chapCnt; chap++) {
//            System.out.println(getInsertStatement(ver, book, chap));
                String s = getInsertStatement(ver, book, chap);

//                System.out.println("  ... debug ..."+s);
                sb.append(s);

            }
        }

        //
        //
        //
        try (BufferedWriter writer = Files.newBufferedWriter(file, charset)) {
            writer.write(sb.toString(), 0, sb.toString().length());
        } catch (IOException x) {
            x.printStackTrace();
            System.err.format("%n%n createBookSql   ver=%s %n%n", ver);
        }

    }