php判斷輸入不超過mysql的varchar字段的長度范圍
更新時間:2011年06月24日 21:52:39 作者:
varchar類型字段,如果你設(shè)置長度為10,那么不論漢字和英文都可以存10個。
但是如果在utf-8編碼下,一個漢字是占3個字符長度的,比如字符串$str=”你好啊!!”;
如果你用strlen函數(shù)來判斷,長度是11,正好超過了varchar的長度,但實際上確不是這樣,如果直接到phpmyadmin里面執(zhí)行insert語句,這條字符串是可以插入的!
對于數(shù)據(jù)庫來說,它的長度是5,那么我們?nèi)绾斡肞HP來得到這個長度呢?使用iconv_strlen()函數(shù)!
echo iconv_strlen($str,'utf-8′);
注意第二個參數(shù),是當(dāng)前字符集,這樣根據(jù)不同的字符集你得到的結(jié)果都是根據(jù)一個字符占一個長度計算來的!
上面的語句,將輸出5,怎么樣,你會判斷了嗎?
如果你用strlen函數(shù)來判斷,長度是11,正好超過了varchar的長度,但實際上確不是這樣,如果直接到phpmyadmin里面執(zhí)行insert語句,這條字符串是可以插入的!
對于數(shù)據(jù)庫來說,它的長度是5,那么我們?nèi)绾斡肞HP來得到這個長度呢?使用iconv_strlen()函數(shù)!
echo iconv_strlen($str,'utf-8′);
注意第二個參數(shù),是當(dāng)前字符集,這樣根據(jù)不同的字符集你得到的結(jié)果都是根據(jù)一個字符占一個長度計算來的!
上面的語句,將輸出5,怎么樣,你會判斷了嗎?
相關(guān)文章
php實現(xiàn)根據(jù)字符串生成對應(yīng)數(shù)組的方法
這篇文章主要介紹了php實現(xiàn)根據(jù)字符串生成對應(yīng)數(shù)組的方法,包含了數(shù)組操作的技巧及eval函數(shù)的用法,需要的朋友可以參考下2014-09-09
PHP連接sql server 2005環(huán)境配置及問題解決
這篇文章主要介紹了PHP連接sql server 2005環(huán)境配置及問題解決,需要的朋友可以參考下2014-08-08
php導(dǎo)入excel文件到mysql數(shù)據(jù)庫的方法
這篇文章主要介紹了php導(dǎo)入excel文件到mysql數(shù)據(jù)庫的方法,分析了phpexcel類操作excel文件的技巧及導(dǎo)入數(shù)據(jù)庫的方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-01-01
php中常量DIRECTORY_SEPARATOR用法深入分析
這篇文章主要介紹了php中常量DIRECTORY_SEPARATOR用法深入分析,涉及針對Linux路徑分隔符不支持\的情況,具有一定的實用價值,需要的朋友可以參考下2014-11-11
如何讓thinkphp在模型中自動完成session賦值小教程
在項目中遇到一個問題,需要讓thinkphp在模型中自動完成session賦值,經(jīng)過一番研究,終于實現(xiàn),下面記錄一下,另附上thinkPHP的session的相關(guān)知識2014-09-09

