Page 1 of 1

Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Thu Feb 24, 2011 1:35 pm
by baluu
If you want to receive support we need this info to help you properly.
» Find Revision
L2J Revision Number:4507
L2JDP Revision Number:7798

this error many times in stdout.log

Code: Select all

Could not store char base data: L2PcInstance:Molodou[269073070] - Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80...' for column 'title' at row 1java.sql.SQLException: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80...' for column 'title' at row 1        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)        at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:989)        at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.storeCharBase(L2PcInstance.java:7719)        at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.store(L2PcInstance.java:7625)        at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.store(L2PcInstance.java:7638)        at com.l2jserver.gameserver.network.L2GameClient.saveCharToDisk(L2GameClient.java:360)        at com.l2jserver.gameserver.network.L2GameClient$AutoSaveTask.run(L2GameClient.java:831)        at com.l2jserver.gameserver.ThreadPoolManager$RunnableWrapper.run(ThreadPoolManager.java:86)        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)        at java.util.concurrent.FutureTask.runAndReset(Unknown Source)        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)        at java.lang.Thread.run(Unknown Source)

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Thu Feb 24, 2011 3:05 pm
by kimeraweb
Looks fowarding an Hex value like String format, weird!

Any custom script added?

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Thu Feb 24, 2011 3:50 pm
by Zoey76
To me looks like unsupported/wrong text encode.

Probably non-latin characters, (Cyrillic ?)

Check your database character set.

I need a case scenario to test myself, what title does the player has, stuff like that.

Temporal fix; try to manually delete de title of that char from database, table characters -> title.

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Fri Apr 15, 2011 4:19 pm
by Starter
Got a similar to this one as well today (and maybe earlier as well but just noticed this one). Very wierd.. Maybe due to the usage of l2net?

Code: Select all

Could not store char base data: L2PcInstance:---[---] - Incorrect string value: '\xE1\xBB\x83m :...' for column 'title' at row 1java.sql.SQLException: Incorrect string value: '\xE1\xBB\x83m :...' for column 'title' at row 1        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)        at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.execute(NewProxyPreparedStatement.java:989)        at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.storeCharBase(L2PcInstance.java:8433)        at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.store(L2PcInstance.java:8337)        at com.l2jserver.gameserver.model.actor.instance.L2PcInstance.store(L2PcInstance.java:8350)        at com.l2jserver.gameserver.network.L2GameClient.saveCharToDisk(L2GameClient.java:361)        at com.l2jserver.gameserver.network.L2GameClient$AutoSaveTask.run(L2GameClient.java:845)        at com.l2jserver.gameserver.ThreadPoolManager$RunnableWrapper.run(ThreadPoolManager.java:86)        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)        at java.util.concurrent.FutureTask.runAndReset(Unknown Source)        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source)        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source)        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)        at java.lang.Thread.run(Unknown Source)
Zoey76 wrote:To me looks like unsupported/wrong text encode.

Probably non-latin characters, (Cyrillic ?)

Check your database character set.

I need a case scenario to test myself, what title does the player has, stuff like that.

Temporal fix; try to manually delete de title of that char from database, table characters -> title.
Switch to utf8 maybe?

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Fri Apr 15, 2011 7:57 pm
by Zoey76
You can try to switch to UTF-8, not sure if L2Net is unicode (or whatever it supports) but there are some client modifications and some official clients that allow player to write in non-English characters.

Make a backup of the tables, and change them one by one, you dont want to mess your gameserver by doing something wrong :P

Also you can add some check to your website if you have some sort of account manager that allow changes in characters from the site.

--Edit
You may want to shutdown your gameserver (and loginserver if they are both in same database) to do the switch.

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Fri Apr 15, 2011 8:06 pm
by Starter
Zoey76 wrote:You can try to switch to UTF-8, not sure if L2Net is unicode (or whatever it supports) but there are some client modifications and some official clients that allow player to write in non-English characters.

Make a backup of the tables, and change them one by one, you dont want to mess your gameserver by doing something wrong :P

Also you can add some check to your website if you have some sort of account manager that allow changes in characters from the site.

--Edit
You may want to shutdown your gameserver (and loginserver if they are both in same database) to do the switch.
No way, I will immediateley switch my mysql database character set to utf8 while everything is running. What can happen? No risk, no fun. xD

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Fri Apr 15, 2011 9:41 pm
by MELERIX
if you edit config when MySQL server is running, nothing will happens, but you need to restart MySQL server to apply changes.

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Sat Apr 16, 2011 7:47 pm
by momo61
Does restarting your PC restart MySQL?

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Sun Apr 17, 2011 12:55 am
by MELERIX
ofc, but you don't need restart pc to restart mysql :P

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Sun Apr 17, 2011 9:43 am
by momo61
Well, I once stopped the MySQL service, and I simply could not get it back up running again, so i had to reinstall it :p

Was a while ago though.

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Tue Apr 19, 2011 9:25 pm
by JIV
epic

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Tue Apr 19, 2011 9:56 pm
by Aikimaniac
JIV wrote:epic
fail

Re: Incorrect string value: '\xD0\xA3\xD0\xBA\xD1\x80

Posted: Sun Jul 10, 2011 8:56 pm
by Starter
Ok I found out that this exception is thrown if someone enters non-latin1 characters in the new character title value and saves this value then because core-sided it seems to be allowed to do so but sql-sided its permitted as the appropriate characters title field has the character set latin1 so it must be restricted core-sided as well to only allow latin1 charcters or replace/convert non-latin1 characters.

Knowing that I searched my ass off for a possible solution and found out that its nonsense to try to convert non-latin1 (generally non-ascii) characters back to latin1 characters so at the end the only possible solution is to use maybe regex to check and replace the value before its being saved to the database in order to avoid this exception.