MYSQL VER 8 に保存されている 700 万件のレコードの中から、文字、スペース、ピリオド以外の文字を含むレコードを検索します。
P粉132730839
P粉132730839 2024-02-25 21:01:35
0
1
462

以下の例に示すように、MYSQL DB に特殊文字を主にデータベースの名と姓の列に挿入しました。

<强>1. ➡️バルパイサブ

<强>2. ��������������������������°������������������������� �������������������������������������������������������� ��������������������������������������������������������������������������������������������������������������������������������������������

効果的なケース:

*サウラブ・シュリー

S.シュリー

T.M.アンソニー

チャールズ・バベッジ・シニア*

長さは可変です。すべて大文字と小文字が区別されず、末尾のスペースはありません。連続する 2 つの単語の間にはスペースとピリオド のみが使用できます。

正規表現の投稿を調べ、列とテーブルの照合順序を utfmb4_unicode_ci に変更し、regexp を適用しましたが、うまくいきませんでした。

約 700 万件のレコードを 1 文字でも検索する必要がありました。

リーリー

これは私のコードです:

ああああ

P粉132730839
P粉132730839

全員に返信(1)
P粉340980243

これには質問の中で「2」が必要ですが、何か手がかりが得られるかどうかは疑問です:

##### ¿ ���������� ã §ã ã ã ã ° ������® ¾ ���������� ¿ ¤ ã §ã ???
16 進文字列の 1 つについては、次のようになります。

変換 (UNHEX('E0A69DE0A6A8E0A78DE0A69FE0A78120E0A6B8E0A6B0E0A695E0A6BEE0A6B0') utf8mb4 を使用) ジャントゥ・サーカールをプロデュース

これは必ずしも解決策につながるわけではありませんが、挿入時のエンコードの問題を示唆する可能性があります。

正規表現の場合は、

のようなものを検討してください。

HEX(列) REGEXP '^(..)*[89ABCDEF]'
これにより、文字列内のバイトに非 Ascii 8 ビット コードが含まれているかどうかが検出されます。 

これは混合物です:

CONVERT(UNHEX('53554B444542205341524B4152E0A6AA') USING utf8mb4) --> 'SUKDEB SARKARপ'
つまり、これは Ascii ですが、末尾にベンガル語の「PA」が付いています。実は、ご覧の「SUKDEB SARKARàè」は文字化けのロゴです。 Mojibake (およびその他の一般的な混乱) については、次を参照してください: 

UTF-8 文字の問題; 表示されるのは、保存した ではありません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート