MySQL存全角字符和半角字符的区别
来源:互联网 发布:pitstop汉化破解版mac 编辑:程序博客网 时间:2024/04/29 02:10
很不巧公司内测IM的时候又遇到MYSQL_DATA_TRUNCATED错误,日志记录还是在mysql_stmt_fetch调用的时候出现的。鉴于之前的经验,应该是给定的结果集绑定区域长度不够造成的,反复检查了好多遍没发现问题。我在代码中都是对应的关系,比如char(20),我代码中就会定义char buffer[20]数组来存储。看起来如此的正确完美。后面没办法只好打印每一行的数据,找到报错的那一行记录,发现字体和别的不一样。比如:
123456789(半角)
123456789(全角)
这并不是我输入空格控制的,而是输入法全角半角控制的。对于全角字符,它是半角字符长度的两倍,而我的MySQL使用了utf-8,所以在数据库中那就是一个全角字符长度是3个字节。
select length(column) from table_name where…;
用这个来打印长度就可以判断出来。这个时候你就要考虑一个代码中类型的长度和数据库字段长度匹配的问题了,比如全角字符或者中文字符。数据库中的char(20)代表的是20个字符,而不是20个字节,这里要注意,所以取数据的时候千万不要全部使用这个20来做结果集长度来取数据。
0 0
- MySQL存全角字符和半角字符的区别
- 全角字符和半角字符
- 全角字符和半角字符
- 全角和半角字符转换
- 全角字符 半角字符
- 对于字符串中全角字符和半角字符的判断
- 全角字符和半角字符之间的转换
- 全角字符转换为半角,判断半角和全角
- 全角 半角 字符 数字
- 去除全角半角字符
- SQL Server中全角和半角字符的比较问题
- 确定包含全角和半角字符的字符串长度
- 中全角和半角字符的比较问题
- SQL Server中全角和半角字符的比较问题
- SQL Server中全角和半角字符的比较问题
- SQL Server中全角和半角字符的比较问题
- SQLServer中全角和半角字符的比较 已解决
- SQL Server中全角和半角字符的比较问题
- mac apache terminal启动 停止 重启
- Unity3D FPS帧数修改
- 算法提高 开灯游戏
- log4j.properties 详解与配置步骤
- kafka-python批量发送数据的方法
- MySQL存全角字符和半角字符的区别
- Android的IPC机制—— Messenger的使用及源码分析
- Kylin 使用RESTful API进行cube的增量更新
- 20170116C++阶段班04_STL_02vector
- python进阶一----函数的参数
- zuul1.3.0不兼容java7问题
- Spring 配置datasource 三种方式
- 配置一个生产的iptables防火墙规则
- 巧用“搜索”解决自学编程遇到的难题