いいえ公共のマイクロチャネルのマイクロチャネル開発のニックネームは、特殊文字が含まれていません

我々は、マイクロチャネルの開発を行っている、非常に重要なことは、ニックネーム、アバター、省、市、区が、現在はモバイル時代を含め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( "ニックネーム"、ニックネーム)。

 

おすすめ

転載: www.cnblogs.com/jiefu/p/11008970.html