検索
ホームページphp教程php手册異なるエンコーディングでの PHP 文字列の長さの区別

異なるエンコーディングでの PHP 文字列の長さの区別

Jun 13, 2016 pm 12:21 PM
phputf-8違う中国語コード区別するコピーバイトはいコーディング長さ

UTF-8 の中国語文字列は 3 バイトです

コードをコピー コードは次のとおりです:


//エンコード UTF-8
echo strlen('テスト テキスト、テスト テキスト');
echo '-' >echo mb_strlen('テスト テキスト、テスト テキスト'; , 'utf-8');
?>
出力: 25-9


GB2312 の中国語文字列は 2 バイトです

コードをコピー コードは次のとおりです:

//Encoding GB2312
echo strlen('テストテキストテストテキスト');
echo '-';
echo mb_strlen('テストテキスト','Gb2312');


出力: 17- 9

Mysql データベース (5.1 以降のバージョン) では、フィールドの型が varchar(10) の場合、(バイトではなく) 10 文字を挿入できます。
そのため、文字列の長さを判断するときは、次のようにする必要があります。文書に従ってエンコードして区別します。
シンボルは、UTF-8 での単純な文字列インターセプト (文字数に基づくインターセプト)


コードをコピー コードは次のとおりです:

/*
* UTF-8 文字列インターセプト
* $str インターセプトする文字列
* $start インターセプト開始位置
* $length インターセプト長
*/
関数 CutStr($str,$start,$length) {
$restr = '';
$j = 0;
$end = $length $start - 1 ;
$plen = strlen($str);
for($i=0;$i$restr .= ord($str[$i])> ;127 ? $str[$i].$str[ $i] : $str[$i]
if ($j if ($j >= $end){break;}
}
$restr .='';
return $restr; 🎜>$str = 'チャイナニュースサービス、9月24日、20カ国・地域(G20)首脳による第3回金融サミットが今日米国ピッツバーグで開催される。 ';
echo $str;
echo '
'
echo '
'; ;


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター