Heim > Datenbank > MySQL-Tutorial > MySql 错误Incorrect string value for column

MySql 错误Incorrect string value for column

WBOY
Freigeben: 2016-06-07 18:03:04
Original
1866 Leute haben es durchsucht

能使用中文进行搜索,但是insert into 中文是可以的。我的数据库和数据表中所有的charset都是设置的utf8。

使用javabean出现以下错误,

66480555 [http-80-4] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1366, SQLState: HY000
66480555 [http-80-4] ERROR org.hibernate.util.JDBCExceptionReporter - Incorrect string value: '\xE7\x89\xA9\xE8\xB5\x84...' for column 'search' at row 1
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2208)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2102)
at org.hibernate.loader.Loader.list(Loader.java:2097)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1699)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at ceapet.jbpm.fileUploadBean.mRecordsList(fileUploadBean.java:313)

java.sql.SQLException: Incorrect string value: '\xE4\xBA\x8C\xE6\xAC\xA1...' for column 'search' at row 1

不能使用中文进行搜索,但是insert into 中文是可以的。我的数据库和数据表中所有的charset都是设置的utf8。
我在Windows xp下程序没有问题,但是在Linux下,同样的程序、同样的数据库就报错,百思不得其解。

网上搜了搜有很多关于此的问题,当然基本都是insert into 报错,基本都是建议set names gbk,或是把数据库删掉重新建。

但针对我的具体情况,应该不是上述原因。仔细考虑后,我的这个sql执行的是存储过程,是不是存储过程也应该和表一样有字符集的问题,果然,
存储过程的参数的字符集也应该设置。
代码如下:
CREATE DEFINER=`root`@`localhost` PROCEDURE `ceapet_upload_proce`(IN userId varchar(30),IN dir varchar(30),IN search varchar(30) charset utf8)

问题就这样解决了!
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage