ホームページ > バックエンド開発 > PHPチュートリアル > PHP で ord を使用して中国語の文字列をインターセプトし、文字化けの問題を解決する_PHP チュートリアル

PHP で ord を使用して中国語の文字列をインターセプトし、文字化けの問題を解決する_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:55:25
オリジナル
1117 人が閲覧しました

以下に 2 つの例を示します。どちらも ord を使用して文字化けの問題を回避する文字 ASCII 判定を実装しています。この関数の機能については、記事 http://www.bKjia.c0m/phper を参照してください。 /php/41030.htm 、この関数の使用法についての優れた入門書が提供されています。

$str = "長いニュースタイトルの最初の数単語だけを表示して...に置き換えるにはどうすればよいですか?"; 関数 gb2312_substr($str, $limit) { $restr = ''; for($i=0;$i $restr .= ord($str[$i])>127 ? $str[$i].$str[++$i] : $str[$i]; }

$restr を返します

}

/*

@以下は utf-8 エンコーディングにのみ適用されます。 */
コードは次のとおりです コードをコピー

// キャラクター
$str=(pack("a*", "中国")); エコー $str,"=",strlen($str),"バイト n"; getascill($str); //h 文字
$str=(pack("h*", "fffe")); エコー $str,"=",strlen($str),"バイト n"; getascill($str); //c 文字
$str=(pack("c*", "55","56","57")); エコー $str,"=",strlen($str),"バイト n"; getascill($str);

//i 文字 short integer 32 ビット 4 バイト 64 ビット 8 バイト
$str=(パック("i", "100")); エコー $str,"=",strlen($str),"バイト n"; getascill($str);

//s 文字 short integer 2 バイト
$str=(パック("s", "100")); エコー $str,"=",strlen($str),"バイト n"; getascill($str);

//l 文字長整数 4 バイト

$str=(パック("l", "100")); エコー $str,"=",strlen($str),"バイト n"; getascill($str);


//f文字単精度浮動小数点4バイト
$str=(パック("f", "100")); エコー $str,"=",strlen($str),"バイト n"; getascill($str);

//d文字倍精度浮動小数点8バイト

$str=(パック("d", "100")); エコー $str,"=",strlen($str),"バイト n"; getascill($str);

関数 getascill($str)
{

$arr=str_split($str); foreach ($arr として $v)

{
エコー $v,"=",ord($v),"n"; }
エコー「=============rnrn」; }
?>




詳細については、http://www.bKjia.c0m/phper/php-function/php-ord.htmをご確認ください

例 2


コードは次のとおりです


コードをコピー





/*
@ 別の方法では、 ord() 関数を使用します:
@ gb2312 エンコードに適用:

*/
関数 utf8_substr($str, $limit) { $restr = ''; for($i=0;$i $restr .= ord($str[$i])>127 ? $str[$i].$str[++$i].$str[++$i] : $str[$i]; } $restr を返します //上記の最初の説明: chr(0) は null ではなく、null は何も意味せず、chr(0) の値は 0 です。 16進数で表すと0x00、2進数で表すと00000000となります。chr(0)では何も表示されませんが、文字です。 chr(0)は何も表示されませんが、文字です。漢字が切り詰められると、エンコード規則に従って、必ずその後ろにある他の文字を引き込んで漢字として解釈する必要があるため、文字化けが発生します。 ?>
}









http://www.bkjia.com/PHPjc/632246.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/632246.html

技術記事

以下に 2 つの例を示します。どちらも ord を使用して文字化けを回避し、この関数の機能 http://www.111cn.net/phper/php/4103. を参照できます。 .





ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート