一般的なデータベースのエンコーディングは utf8 であり、utf8 は絵文字の保存をサポートしていません。保存された WeChat ニックネームに絵文字が含まれている場合、文字化けが発生します。解決策は 2 つあります:
1. mysql データベースはバージョン 5.5 以降にアップグレードされ、utf8 は utf8mb4 に変更されます。utf8mb4 の文字は最大 4 バイトで、絵文字を保存できます。データベース サーバーを再起動します。この方法は失敗する可能性があります。
2. 絵文字のフィルタリングJava コードはシンプルかつ効率的です。以下は顔文字をフィルタリングするためのツール クラスです:
import java.util.regex.Matcher;import java.util.regex.Pattern;
# #public class EmojiUtil { public static String replace(String input) { if (!StringUtil.isEmpty(input)) { String patternStr = "[^\ \u0000 -\\uFFFF]"; パターン pattern = Pattern.compile(patternStr, Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE); Matcher マッチャー = pattern.matcher(input);input = matcher.replaceAll(""); } return input; }}
以上がJava処理データベースが絵文字をサポートしていない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。