共有サーバーで OAuth サポートをセットアップしている最中です。インストールしようとしているサーバー側の PHP OAuth ライブラリは次のとおりです。
http://code.google.com/p/oauth-php/downloads/list
そして、私はここにあるインストールノートに従っています:
http://code.google.com/p/oauth-php/wiki/ConsumerHowTo
メモには、インストール パッケージにある SQL スクリプトを使用して、テーブルとデータベースをセットアップするためのヒントがありました。phpMyAdmin にあるインポート (SQL) 機能を使用してスクリプトを実行しようとすると、テーブルの 1 つで「キーが長すぎます」というエラーが発生しました。つまり、MySQL/InnoDB テーブルを使用しているときに見られる最大キー長の制限にぶつかりました。
この問題を回避するために、「charset=latin1」の「charset=utf8」のすべてのインスタンスを置き換えました。これは、utf8 は 1 文字あたり 3 バイトを必要とし、latin1 は 1 文字あたり 1 バイトであるためです。スクリプトは正常に実行され、すべてのテーブルが正しく作成されました。
私が見る限り、テーブルで使用されているすべてのフィールドは、マルチバイト国際文字のサポートを必要としません。問題が発生する唯一の方法は、アクセスする OAuth 接続サービスの 1 つがコンシューマ キーまたはシークレットで国際文字を使用している場合であり、これまでのところ、そのような状況に遭遇したことはまったくありません。
この回避策がいつでも私の裏側を噛むかどうか、またそれがどこにあるのか誰か教えてもらえますか? また、utf8 文字セットの使用を犠牲にすることなく「キーが長すぎる」問題を解決するためのより良い解決策がある場合は、それについて知りたいです。