PHP および MYSQL での UTF8 中国語ソート サンプル コード、_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:16:23
オリジナル
774 人が閲覧しました

PHP および MYSQL の UTF8 中国語ソート サンプル コード、

1. php配列内で中国語でソートする必要がありますが、一般的にutf8形式のファイルが使用されるため、asortによる直接ソートは機能しません。 gbkとgb2312を使用できます。これは、いくつかの形式のエンコードに関係があります。 gbk と gb2312 自体のコーディングはピンインでソートされています。

コードは次のとおりです

リーリー

2. MySQL では、フィールドのソートやクエリを行うことがよくありますが、中国語でソートや検索を行うと、漢字のソートや検索結果が間違っていることがよくあります。 この状況は、MySQL (www.jb51.net) の多くのバージョンで存在します。
この問題が解決されない場合、MySQL は実際に中国語を処理できなくなります。 この問題の原因は、MySQL が文字列のクエリ時に大文字と小文字を区別しないため、通常、ISO-8859 文字セットがデフォルトの文字セットとして使用され、比較プロセス中に中国語コード文字の大文字と小文字の変換が発生します。 。 この現象。
解決策:
中国語を含むフィールドの場合は、「binary」属性を追加してバイナリ比較を行います。たとえば、「name char(10)」を「name char(10)binary」に変更します。
ソース コードを使用して MySQL をコンパイルする場合、MySQL のコンパイル時に --with--charset=gbk パラメータを使用できるため、MySQL は中国語の検索と並べ替え (デフォルトは latin1) を直接サポートします。 extra-charsets=gb2312,gbk を使用して複数の文字セットを追加することもできます。
テーブル構造を変更したり、MySQL を再コンパイルしたくない場合は、クエリ ステートメントの一部の順序で CONVERT 関数を使用することもできます。たとえば

コードは次のとおりです

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

select * from mytable order by CONVERT(chineseColumnName USING gbk);

http://www.bkjia.com/PHPjc/898279.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/898279.html技術記事 PHP および MYSQL での UTF8 中国語ソートのサンプル コード、1. PHP 配列では中国語ソートが必要ですが、通常は UTF8 形式のファイルが使用され、asort による直接ソートは機能しません。 gbkとgb2312を使用できます。 ...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート