sql >> データベース >  >> NoSQL >> MongoDB

MongoDBPHPUTF-8の問題

    JSONとBSONは、有効なUTF-8文字列のみをエンコード/デコードできます。データ(入力を含む)がUTF-8でない場合は、次のように、JSON依存システムに渡す前に変換する必要があります。

    $string = iconv('UTF-8', 'UTF-8//IGNORE', $string); // or
    $string = iconv('UTF-8', 'UTF-8//TRANSLIT', $string); // or even
    $string = iconv('UTF-8', 'UTF-8//TRANSLIT//IGNORE', $string); // not sure how this behaves
    

    個人的には最初のオプションが好きです。iconv()を参照してください。 マニュアルページ。その他の選択肢は次のとおりです。

    • mb_convert_encoding()
    • utf8_encode(utf8_decode($string))

    ユーザーが送信した文字列であっても、文字列がUTF-8でエンコードされていることを常に確認する必要がありますが、MySQLからMongoDBに移行すると述べたので、現在のデータベースをCSVにエクスポートし、付属のインポートスクリプトを使用してみましたか?モンゴと?彼らはこれを処理する必要があります...

    編集: BSONはUTF-8しか処理できないと述べましたが、これが正確に正しいかどうかはわかりません。BSONがUTF-16またはUTF-32を使用してデータをエンコード/デコードするという漠然とした考えがありますが、確認できません。今。



    1. このスキーマをMongoDBに実装するにはどうすればよいですか?

    2. マングース:検証エラーパスが必要です

    3. ApacheAvroを使用したApacheKafkaでのロバストなメッセージシリアル化、パート1

    4. mongoシェル内でMongoクエリ出力をファイルに出力する