# 用prepared statement的欄位需要新增多國語言時的解決方法 用setNString來把欄位設成Unicode ```java= String sqlSms = "INSERT INTO Sms (SmsSeq, SmsSysId,Content,OfficeHourSend,Status,LastUpdateTime,MaintainHost,MaintainProgramId,MainUserId,CreateDate,CreateProgramId,CreateTime,CreateUserId,DeleteFlag,Mobile,Reserved,BatchMark,InstantFlag,ExpectDeliverTime) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; PreparedStatement stmtSms = null; try { if(smsList != null && !smsList.isEmpty()) { long start = System.currentTimeMillis(); connection.setAutoCommit(false); //通過JDBC API執行用於批量更新的SQL語句 stmtSms = connection.prepareStatement(sqlSms); for(Sms bean:smsList) { ... stmtSms.setNString(3, bean.getContent()); ... stmtSms.addBatch(); } stmtSms.executeBatch(); long end = System.currentTimeMillis(); System.out.println(String.format("Total time: %d 毫秒", (end - start))); logger.info(String.format("Total time: %d 毫秒", (end - start))); connection.commit(); } }catch(SQLException e) { try { connection.rollback(); } catch (SQLException sqlException) { sqlException.printStackTrace(); } }finally { if (stmtSms != null) { try { stmtSms.close(); } catch (SQLException e) { logger.error("preparedStatement.close() fail.", e); System.out.println("preparedStatement.close() fail."+e); } } if (connection != null) { try { connection.setAutoCommit(true); connection.close(); } catch (SQLException e) { logger.error("connection.close() fail.", e); System.out.println("connection.close() fail."+ e); } } } ``` ###### tags: `Java`