0

您好,我正在使用准备好的语句将值插入 mysql。

我在插入"c2a054656e6e6973c2a0"值的字符串中遇到问题," Tennis "我尝试使用修剪来修剪“网球”前面的空白它不起作用。从这个问题为什么修剪不起作用?我尝试使用该解决方案poNumber.replace(String.valueOf((char) 160), " ").trim();并且它有效。任何人都可以为此提供解决方案吗?

示例代码

CREATE TABLE `news1` (
  `article_id` int(11) NOT NULL AUTO_INCREMENT,
  `article_title` varchar(500) COLLATE utf8_bin NOT NULL,
  `article_subcategory` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`article_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=22 ;

//示例类别将是“家»网球”

 String category = item.getArticle_category();
                String categoryArray[] = category.split("»");
                preparedStatement = connect
                        .prepareStatement("INSERT INTO news1 VALUES(default,?,?)");
                System.out.println(categoryArray[2].replace(String.valueOf((char) 160), " ")
                        .trim());
                preparedStatement.setString(1, item.getArticle_title());
                preparedStatement.setString(2, categoryArray[2]);
4

1 回答 1

0

categoryArray[2].replace(String.valueOf((char) 160), " ") .trim()在 sys out 中执行此操作,但您preparedStatement.setString(2, categoryArray[2]);在语句中执行此操作

String temp = categoryArray[2].replace(String.valueOf((char) 160), " ") .trim(); 
System.out.println(temp);

并使用 temp in

preparedStatement.setString(2, temp);
于 2013-02-13T07:03:23.593 回答