2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php保存gbk字符串 php判断字符串gbk/utf8编码和转换

php保存gbk字符串 php判断字符串gbk/utf8编码和转换

时间:2019-01-30 19:34:45

相关推荐

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]

搞定~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。