sql >> データベース >  >> RDS >> Mysql

MySQLと同じ方法でPHPの文字列を比較する

    照合はストレージとは何の関係もありません。ストレージエンコーディングを決定するには、文字セットを設定する必要があります。照合は、比較と並べ替えがどのように行われるかを決定します。照合は文字セットを認識している必要がありますが、それ以外の場合は文字セットとは関係ありません。

    質問に答えるには、iconvを使用できます テキストをトランスリッターしてから比較します。例:

    function compare($s1, $s2) {
      return strcmp(
        iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s1),
        iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s2));
    }
    

    これは基本的にMySqlが行うことですが、おそらくより高速であり、ISO-8859-1//TRANSLITとはわずかに異なる照合テーブルを持つ可能性があります。 。それについては完全にはわかりません。

    他の人がすでに示唆しているように、データベースを使用する方がおそらく簡単でしょう。



    1. Codeigniterのアクティブレコードの選択、左結合、カウント

    2. byte[]の適切なHibernateアノテーション

    3. MariaDBで月と日の名前を別の言語で返す方法

    4. MongoDBでの役割ベースのアクセス制御の作成