java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A'

在手机端测试的时候,发送了一个输入法的表情,然后页面悲剧了 (┬_┬)

java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A' for column 'content' at row 1

incorrect

mysql中规定utf8字符MaxLen=3,但是某些unicode字符转成utf8编码之后有4个字节,于是就杯具了

select version(); 一下,oh shit! 版本为mysql-5.1.73-3.el6_5.x86_64

mysql 5.3以后才有utf8mb4这个编码,无奈只能卸载了重新升级mysql

2014-04-11 14:56:47 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp
server option (see documentation for more details).
2014-04-11 14:56:47 14101 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-04-11 14:56:47 14101 [Note] InnoDB: The InnoDB memory heap is disabled
2014-04-11 14:56:47 14101 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-04-11 14:56:47 14101 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-04-11 14:56:47 14101 [Note] InnoDB: Using Linux native AIO
2014-04-11 14:56:47 14101 [Note] InnoDB: Using CPU crc32 instructions
2014-04-11 14:56:47 14101 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-04-11 14:56:47 14101 [Note] InnoDB: Completed initialization of buffer pool
2014-04-11 14:56:47 14101 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2014-04-11 14:56:47 14101 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2014-04-11 14:56:47 14101 [Note] InnoDB: Database physically writes the file full: wait...
2014-04-11 14:56:47 14101 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2014-04-11 14:56:47 14101 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2014-04-11 14:56:47 14101 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2014-04-11 14:56:47 14101 [Warning] InnoDB: New log files created, LSN=45781
2014-04-11 14:56:47 14101 [Note] InnoDB: Doublewrite buffer not found: creating new
2014-04-11 14:56:47 14101 [Note] InnoDB: Doublewrite buffer created
2014-04-11 14:56:47 14101 [Note] InnoDB: 128 rollback segment(s) are active.
2014-04-11 14:56:47 14101 [Warning] InnoDB: Creating foreign key constraint system tables.
2014-04-11 14:56:47 14101 [Note] InnoDB: Foreign key constraint system tables created
2014-04-11 14:56:47 14101 [Note] InnoDB: Creating tablespace and datafile system tables.
2014-04-11 14:56:47 14101 [Note] InnoDB: Tablespace and datafile system tables created.
2014-04-11 14:56:47 14101 [Note] InnoDB: Waiting for purge to start
2014-04-11 14:56:47 14101 [Note] InnoDB: 5.6.17 started; log sequence number 0
A random root password has been set. You will find it in '/root/.mysql_secret'.
2014-04-11 14:56:48 14101 [Note] Binlog end
2014-04-11 14:56:48 14101 [Note] InnoDB: FTS optimize thread exiting.
2014-04-11 14:56:48 14101 [Note] InnoDB: Starting shutdown...
2014-04-11 14:56:49 14101 [Note] InnoDB: Shutdown completed; log sequence number 1625977
2014-04-11 14:56:49 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp
server option (see documentation for more details).
2014-04-11 14:56:49 14124 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-04-11 14:56:49 14124 [Note] InnoDB: The InnoDB memory heap is disabled
2014-04-11 14:56:49 14124 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-04-11 14:56:49 14124 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-04-11 14:56:49 14124 [Note] InnoDB: Using Linux native AIO
2014-04-11 14:56:49 14124 [Note] InnoDB: Using CPU crc32 instructions
2014-04-11 14:56:49 14124 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-04-11 14:56:49 14124 [Note] InnoDB: Completed initialization of buffer pool
2014-04-11 14:56:49 14124 [Note] InnoDB: Highest supported file format is Barracuda.
2014-04-11 14:56:49 14124 [Note] InnoDB: 128 rollback segment(s) are active.
2014-04-11 14:56:49 14124 [Note] InnoDB: Waiting for purge to start
2014-04-11 14:56:49 14124 [Note] InnoDB: 5.6.17 started; log sequence number 1625977
2014-04-11 14:56:49 14124 [Note] Binlog end
2014-04-11 14:56:49 14124 [Note] InnoDB: FTS optimize thread exiting.
2014-04-11 14:56:49 14124 [Note] InnoDB: Starting shutdown...
2014-04-11 14:56:51 14124 [Note] InnoDB: Shutdown completed; log sequence number 1625987

 
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.

You must change that password on your first connect,
no other statement but 'SET PASSWORD' will be accepted.
See the manual for the semantics of the 'password expired' flag.

Also, the account for the anonymous user has been removed.

In addition, you can run:

/usr/bin/mysql_secure_installation

which will also give you the option of removing the test database.
This is strongly recommended for production servers.

See the manual for more instructions.

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

WARNING: Found existing config file /usr/my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as /usr/my-new.cnf,
please compare it with your file and take the changes you need.

mysql新版本默认密码不能为空了,看提示随机密码放在了'/root/.mysql_secret'

进去之后需要先 set 新密码 …… 这里不表了

然后就是修改了程序和mysql数据库的编码为新的 utf8mb4 ,这把程序不报错了,但是那个悲催的表情显示不出来,:-D

mysql

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值