我々は、マイクロチャネルの開発を行っている、非常に重要なことは、ニックネーム、アバター、省、市、区が、現在はモバイル時代を含めOpenIDのユーザの詳細、を介して取得することがありました、多くの人々が広くの名前に使用される、個性を追求します火星のテキストや顔文字。これは、MySQLデータベースエラーがニックネームを取得した後に発生し、我々は彼らに行くセーブ、マイクロ文字はいくつかの問題を引き起こし開発することです。
ソリューション:
ニックネームをチェックし、ニックネームその後、エンコード、コーディングが完了した後にデータベースに保存します。この利点は、ニックネームを読んで、私たちが忘れてはならない時にニックネームを使用できない場合、詳細の損失は、操作しやすい、コードのみのデータラインをエンコードする必要があり、欠点はテーブルの上に直接のNavicatを開けていないことですデコードされました。
文字列のニックネーム= userInfo.getAsJsonObject()を取得( "ニックネーム"。).getAsString(); 試す{ // 进行编码 ニックネーム= Base64.encodeBase64String(nickname.getBytes( "UTF-8" )); } キャッチ(にUnsupportedEncodingException電子){ e.printStackTrace(); } user.setNickname(ニックネーム)。
ストリングニックネーム=(文字列)map.get( "ニックネーム" )。 試す{ // 进行解码 ニックネーム= 新しい 文字列(Base64.decodeBase64(ニックネーム)、 "UTF-8" ); } キャッチ(にUnsupportedEncodingException電子){ e.printStackTrace(); } map.put( "ニックネーム"、ニックネーム)。