PHPの関数「str_split」を直接使って分割すると、中国語の文字の長さと英語の文字の長さが異なるため文字化けが発生しますが、新しい関数を作成して最初に文字をASCII値に変換し、次に、さまざまな文字の長さを判断します。中国語の文字列を正しく分割するには、結果を配列に保存し、最後に php 関数「join」を使用して文字間にパーセント記号を挿入します。
方法 1 のコード例は次のとおりです。
function str_split_utf8($ str){ $split=1; $array=array(); for($i=0;$iif($value>127){
if($value>=192&&$value<=223) $split=2; ;=224 && $value<=239) $split=3;
elseif($value>=240 && $value<=247) $split=4;
$split=1; }
$key=null;
for ($j=0;$j<$split;$j++,$i++){
$key.=$str[$i] }
array_push( $array,$key);
return $array;
$string="php ファン ネットワーク www.phpfensi.com";
echo join ("%",$arr1);
?>
方法 2 のコード例は次のとおりです。
$str="php fan network: http://www.phpfensi. com ";
functionmbstringtoarray($ str、$ charset){
$ strlen = mb_strlen($ str);
。 「gb2312」や「utf-8」などの Web ページのエンコード。
2. 方法 1 では、サーバーが mbstring.dll 拡張子を有効にする必要があります。有効にしないと、コード実行エラーが発生します。次のメソッドの使用を検討できます。
メソッド 3 のコード例は次のとおりです。 $i=0;$i
$arr[]=ord($str[$i])>127?$str[$i].$str[ ++$i] :$str[$i];
$arr を返す
}
;