php保存gbk字符串,php判断字符串gbk/utf8编码和转换
代碼就點擊進來看吧。前段時間聊天的時候卜卜口提到可以由程序提取歌曲文件的ID3信息,這樣就免去那些音樂上傳時候用戶填寫表單的步驟。仔細想想這么利國利民的東西必需試試!首先考慮到的就是編碼的判斷,在網上找到別人寫好的代碼,經測試效果贊~\(≧▽≦)/~
先來兩個判斷gbk/utf-8的函數
[php]
function is_utf8($string) {
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}
function is_gb2312($str)
{
for($i=0; $i127) {
if( ($v >= 228) && ($v <= 233) )
{
if( ($i+2) >= (strlen($str) - 1)) return true;
$v1 = ord( $str[$i+1] );
$v2 = ord( $str[$i+2] );
if( ($v1 >= 128) && ($v1 <=191) && ($v2 >=128) && ($v2 <= 191) )
return false;
else
return true;
}
}
}
return true;
}
[/php]
然后是轉換,如果不是gbk也不是utf-8按照我收無損的經驗日文編碼通常是shift-jis,就按這個轉換!
[php]
$str=iconv('shift-jis','utf-8','要轉換的內容');
[/php]
搞定~~~
總結
以上是生活随笔為你收集整理的php保存gbk字符串,php判断字符串gbk/utf8编码和转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php李捷,【问题解答】蝶泳手外划的作用
- 下一篇: (stack 解析表达式)矩阵链乘