ホームページ  >  記事  >  バックエンド開発  >  mb_substr_PHP チュートリアル

mb_substr_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:51:07852ブラウズ



質問
mb_substr
解決策
$string = "中華人民共和国";

$mystring=mb_substr($string,0,6,'UTF-8');

エコー $mystring;


コードをコピーして本で見てください: UTF-8 エンコードでは 1 つの中国語文字が 3 バイトを占有します; GB2312/GBK エンコードでは 1 つの中国語文字が 2 バイトを占有します

では、上記のコードは「中华」という単語を出力する必要があるでしょうか?


参考回答
出力「中部人民共和国」
参考回答
この 6 はバイト数ではなく文字数です
説明書をよく読んでください-.-
参考回答
「UTF-8」 これを削除して見てください...
参考回答
元の投稿は An によって 2008-11-7 13:28 に公開されました [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=698924&ptid=89149]リンク タグ [img]http:// bbs.111cn.cn/images/common/back.gif[/img][/url]
「UTF-8」 これを削除して見てください...
エンコーディングパラメータが渡されない場合、
デフォルトでiniの下でmbstring.internal_encodingを使用したことを覚えています
mbstring.internal_encoding が設定されていない場合は、Latin-1 (iso-8859-1) を使用する必要があります
参考回答
元の投稿は An によって 2008-11-7 13:28 に公開されました[url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=698924&ptid=89149]リンク タグ[img]http: // www.111cn.cn/bbs/images/common/back.gif[/img][/url]
「UTF-8」 これを削除して見てください...
この場合、漢字 1 文字は 2 バイトを占めます
例: echo $mystring=mb_substr($string,0,4);//結果: 中国語
echo $mystring=mb_substr($string,0,3 or 5);//結果: 中国語
参考回答
元の投稿は An によって 2008-11-7 13:28 に公開されました[url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=698924&ptid=89149]リンク タグ[img]http: // www.111cn.cn/bbs/images/common/back.gif[/img][/url]
「UTF-8」 これを削除して見てください...
申し訳ありません、私の間違いです、私のページは GB2312 - -

ページが UTF8 に変更された後、「UTF-8」を削除すると、漢字あたり 3 バイトになります。皆様、ご協力ありがとうございました
参考回答
元の投稿は男性によって 2008-11-7 16:31 に投稿されました [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=699902&ptid=89149]リンクタグ [img]http:/ /bbs.111cn.cn/images/common/back.gif[/img][/url]
申し訳ありません、私の間違いです、私のページは GB2312 - -
ページが UTF8 に変更された後、「UTF-8」を削除すると、漢字あたり 3 バイトになります。皆様、ご協力ありがとうございました
文字セットには、バイト数までの文字を含めることができます
たとえば、gbk には 2 バイト文字と 1 バイト文字を含めることができます。
utf8 には、6、5、4、3、2、1 (古いものは 4、3、2、1) バイトの文字を含めることができます。
文字列にマルチバイト文字が含まれているかシングルバイト文字が含まれているかを判断することができないためです。

GBK 環境: $string = "テスト ab test cd word 0 string";

$mystring=mb_substr($string,0,3,'GBK');

エコー $mystring;


コードをコピーします。この 3 は文字数を返します。設定はバイト数ではありません。
ああ、何と言えばいいでしょうか? マルチバイト文字エンコーディングについてたくさんの投稿を投稿されているようです
結局、文字とバイトと文字エンコーディングの関係が未だに分かりません-。-

[ ]
参考回答
クラッシュ-。 -
参考回答
ありがとう、啓発された気分です...


http://www.bkjia.com/PHPjc/632596.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632596.html技術記事問題 mb_substr 解決策 $string = "中華人民共和国" $mystring=mb_substr($string,0,6,'UTF-8'); 以下のコードをコピーします。 、 1 つ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。