//修复中文字
function fix_half_chinese_string($str){
//预定补位
$fix_c = chr(129);
$half = false;
$str_l = strlen($str);
for($i=0;$i < $str_l; $i++){
//第一个为中文
if( ord($str[$i]) >127 ){
$half = true;
//第二个为中文
if( $i+1 >= $str_l ) break;
if( ord($str[$i+1]) >127 ){
$half = false;
$i++;
continue;
}
//中途有半字
else{
//插入补位
$last = substr($str,$i+1,strlen($str));
$str[$i+1] = $fix_c;
$str .= $last;
$half = false;
$i++;
}
}
//非中文
else continue;
}
//最后一位为半字
if( $half ) $str .= $fix_c;
return $str;
}
function fix_half_chinese_string($str){
//预定补位
$fix_c = chr(129);
$half = false;
$str_l = strlen($str);
for($i=0;$i < $str_l; $i++){
//第一个为中文
if( ord($str[$i]) >127 ){
$half = true;
//第二个为中文
if( $i+1 >= $str_l ) break;
if( ord($str[$i+1]) >127 ){
$half = false;
$i++;
continue;
}
//中途有半字
else{
//插入补位
$last = substr($str,$i+1,strlen($str));
$str[$i+1] = $fix_c;
$str .= $last;
$half = false;
$i++;
}
}
//非中文
else continue;
}
//最后一位为半字
if( $half ) $str .= $fix_c;
return $str;
}