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

PHP/ODBCエンコーディングの問題

    まず、DBのエンコーディングがあります。次に、ODBCクライアントで使用されるエンコーディングがあります。

    ODBCクライアント接続のエンコーディングがDBのエンコーディングと一致しない場合、場合によっては、ODBCレイヤーがデータを自動的にトランスコードします。

    ここでの秘訣は、ODBCクライアント接続のエンコードを強制することです。

    「すべてのUTF-8」セットアップの場合:

    $conn=odbc_connect(DB_DSN,DB_USR,DB_PWD);
    odbc_exec($conn, "SET NAMES 'UTF8'");
    odbc_exec($conn, "SET client_encoding='UTF-8'");
    
    // processing here
    

    これはPostgreSQL+PHP5.xで完全に機能します。正確な 構文とオプションはDBベンダーによって異なります。

    MySqlの非常に便利で明確な追加情報は、次の場所にあります: http://dev.mysql.com/doc/refman/5.0/fr/charset-connection.html

    これがお役に立てば幸いです。



    1. MySQLの競合状態

    2. MySQLでユーザーのデフォルトスキーマを設定するにはどうすればよいですか

    3. SQLServerのテーブルで使用されているスペースを確認してください

    4. make_time()がPostgreSQLでどのように機能するか