php判断输入不超过mysql的varchar字段的长度范围
作者:bea
但是如果在utf-8编码下,一个汉字是占3个字符长度的,比如字符串$str=”你好啊!!”; 如果你用strlen函数来判断,长度是11,正好超过了varchar的长度,但实际上确不是这样,如果直接到phpmyadmin里面执行insert语句,这条字符串是可以插入的! 对于数据库来说,它的长度是5,那么我们如何用PHP来得到这个长度呢?使用iconv_strlen()函数! echo iconv_strlen($str,'utf-8′); 注意第二个参数,是当前字符集,这样
但是如果在utf-8编码下,一个汉字是占3个字符长度的,比如字符串$str=”你好啊!!”;
如果你用strlen函数来判断,长度是11,正好超过了varchar的长度,但实际上确不是这样,如果直接到phpmyadmin里面执行insert语句,这条字符串是可以插入的!
对于数据库来说,它的长度是5,那么我们如何用PHP来得到这个长度呢?使用iconv_strlen()函数!
echo iconv_strlen($str,'utf-8′);
注意第二个参数,是当前字符集,这样根据不同的字符集你得到的结果都是根据一个字符占一个长度计算来的!
上面的语句,将输出5,怎么样,你会判断了吗?
有用 | 无用
如果你用strlen函数来判断,长度是11,正好超过了varchar的长度,但实际上确不是这样,如果直接到phpmyadmin里面执行insert语句,这条字符串是可以插入的!
对于数据库来说,它的长度是5,那么我们如何用PHP来得到这个长度呢?使用iconv_strlen()函数!
echo iconv_strlen($str,'utf-8′);
注意第二个参数,是当前字符集,这样根据不同的字符集你得到的结果都是根据一个字符占一个长度计算来的!
上面的语句,将输出5,怎么样,你会判断了吗?
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- php设计模式 Command(命令模式)
- php设计模式 Template (模板模式)
- php设计模式 Proxy (代理模式)
- php设计模式 Composite (组合模式)
- php设计模式 State (状态模式)
- php设计模式 Bridge (桥接模式)
- php设计模式 Chain Of Responsibility (职责链模式)
- php设计模式 FlyWeight (享元模式)
- php设计模式 Mediator (中介者模式)
- php设计模式 Prototype (原型模式)代码
- PHP如何解决网站大流量与高并发的问题
- session在PHP大型web应用中的使用
- php URL跳转代码 减少外链
- php session安全问题分析
- 使用PHP实现二分查找算法代码分享
- PHP求最大子序列和的算法实现
- php中转义mysql语句的实现代码
- 把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
- php中对2个数组相加的函数