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計算兩個整數(shù)的最大公約數(shù)常用算法小結(jié)
這篇文章主要介紹了php計算兩個整數(shù)的最大公約數(shù)常用算法,實例總結(jié)了求最大公約數(shù)的三種常用方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03php array_map使用自定義的函數(shù)處理數(shù)組中的每個值
這篇文章主要介紹了php array_map使用自定義的函數(shù)處理數(shù)組中的每個值的相關(guān)資料,需要的朋友可以參考下2016-10-10