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

Support for the latest build of L2J Server, get help here with installations, upgrades, problems.
Do not post bugs reports here, use viewforum.php?f=77 instead.
There is no support for other server builds than the official provided by l2jserver.com
Forum rules
READ NOW: L2j Forums Rules of Conduct
Locked
baluu
Posts: 84
Joined: Thu Jan 21, 2010 6:17 pm

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

Post 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)
User avatar
kimeraweb
Posts: 55
Joined: Sat Jul 31, 2010 5:33 pm
Location: Deutschland
Contact:

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

Post by kimeraweb »

Looks fowarding an Hex value like String format, weird!

Any custom script added?
GS: 4470
DP: 7733
User avatar
Zoey76
L2j Inner Circle
L2j Inner Circle
Posts: 7008
Joined: Tue Aug 11, 2009 3:36 am

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

Post 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.
Powered by Eclipse 4.34 🌌 | Eclipse Temurin 21 ☕ | MariaDB 11.3.2 🗃️ | L2J Server 2.6.3.0 - High Five 🚀

🔗 Join our Discord! 🎮💬
Starter
Posts: 484
Joined: Sat Jan 23, 2010 4:42 pm

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

Post 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?
I have promises to keep and miles to go before I sleep.
User avatar
Zoey76
L2j Inner Circle
L2j Inner Circle
Posts: 7008
Joined: Tue Aug 11, 2009 3:36 am

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

Post 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.
Powered by Eclipse 4.34 🌌 | Eclipse Temurin 21 ☕ | MariaDB 11.3.2 🗃️ | L2J Server 2.6.3.0 - High Five 🚀

🔗 Join our Discord! 🎮💬
Starter
Posts: 484
Joined: Sat Jan 23, 2010 4:42 pm

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

Post 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
I have promises to keep and miles to go before I sleep.
User avatar
MELERIX
L2j Veteran
L2j Veteran
Posts: 6667
Joined: Sat Sep 23, 2006 11:31 pm
Location: Chile
Contact:

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

Post by MELERIX »

if you edit config when MySQL server is running, nothing will happens, but you need to restart MySQL server to apply changes.
User avatar
momo61
Posts: 1648
Joined: Fri Jun 06, 2008 2:05 pm
Location: Europe

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

Post by momo61 »

Does restarting your PC restart MySQL?
User avatar
MELERIX
L2j Veteran
L2j Veteran
Posts: 6667
Joined: Sat Sep 23, 2006 11:31 pm
Location: Chile
Contact:

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

Post by MELERIX »

ofc, but you don't need restart pc to restart mysql :P
User avatar
momo61
Posts: 1648
Joined: Fri Jun 06, 2008 2:05 pm
Location: Europe

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

Post 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.
User avatar
JIV
L2j Veteran
L2j Veteran
Posts: 1882
Joined: Sun Jan 06, 2008 8:17 pm
Location: Slovakia
Contact:

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

Post by JIV »

epic
User avatar
Aikimaniac
L2j Inner Circle
L2j Inner Circle
Posts: 3048
Joined: Sun Aug 07, 2005 11:42 pm
Location: Slovakia

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

Post by Aikimaniac »

JIV wrote:epic
fail
Image
Starter
Posts: 484
Joined: Sat Jan 23, 2010 4:42 pm

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

Post 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.
I have promises to keep and miles to go before I sleep.
Locked