我在 MYSQL DB 中插入了特殊字符,如下例所示,主要是在数据库的名字、姓氏列中。
<强>1。 ➡️BALPAI SAB
<强>2。 ���������������������������°���������������������������������������������������������������������������������������������������������������������� ??
有效案例:
*Saurabh Shree
S.shree
T.M.安东尼
老查尔斯·巴贝奇*
长度是可变的。所有内容都不区分大小写,没有尾随空格。两个连续单词之间只允许有空格和句点。
我已经浏览了 regexp 的帖子,并将列和表的排序规则更改为 utfmb4_unicode_ci 并应用了 regexp 但没有运气。
我必须在大约 700 万条记录中搜索甚至单个字符的出现。
SELECT FARMER_BRANCH_NAME, HEX(FARMER_BRANCH_NAME) FROM BSBY.PROPOSAL OUTPUT Farmer Branch Name Hex(Farmer Branch Name) SME œ•œBRANCH JASDANœ•œ 534D45209C959C4252414E4348204A415344414E9C959C নলহাটি E0A6A8E0A6B2E0A6B9E0A6BEE0A69FE0A6BF নলহাটি E0A6A8E0A6B2E0A6B9E0A6BEE0A69FE0A6BF নলহাটি E0A6A8E0A6B2E0A6B9E0A6BEE0A69FE0A6BF SME œ•œBRANCH JASDANœ•œ 534D45209C959C4252414E4348204A415344414E9C959C Mumbai - Chembur 4D756D626169202D204368656D627572C2A0 New Delhi - Connaught Place - II 4E65772044656C6869202D20436F6E6E617567687420506C616365202D204949C2A0 Mumbai - Malad 4D756D626169202D204D616C6164C2A0 Bangalore - Cantonment 42616E67616C6F7265202D2043616E746F6E6D656E74C2A0 Ahmedabad-BOPAL 41686D6564616261642D424F50414CC2A0 SME œ•œBRANCH JASDANœ•œ 534D45209C959C4252414E4348204A415344414E9C959C SELECT FARMER_NAME,HEX(FARMER_NAME) FROM BSBY_UAT.PROPOSAL where FARMER_NAME NOT REGEXP '[A-Za-z0-9.() ]$' OUTPUT FARMER NAME HEX(FARMER NAME) RAHIM BISWAS 524148494D2042495357415309 ESARUL GAZI 45534152554C2047415A4909 GOLAM NABI MANDAL 474F4C414D204E414249204D414E44414C09 LATIF MANDAL 4C41544946204D414E44414C09 NILKAMAL MANDAL 4E494C4B414D414C204D414E44414C09 SHUKUR ALI MONDAL 5348554B555220414C49204D4F4E44414C09 ¦€ ¦€° ¦€º § ¦€¢ ¦€ ¦² ¦¿ A0C2A680A0C2A680B0A0C2A680BAA0C2A7C281A0C2A680A220A0C2A680A0A0C2A6C2B2A0C2A6C2BF HASINA KHATUN 484153494E41204B484154554E09 KSHETRAGOPAL GHOSH 4B534845545241474F50414C2047484F534809 SUKUMAR DAS HALDAR 53554B554D4152204441532048414C44415209 Yasin Hossain 596173696E20486F737361696E09 SHAH HOSSAIN MOLLA 5348414820484F535341494E204D4F4C4C4109 RAMJAN SEKH 52414D4A414E2053454B4809 Nibaran Ch. Mahato 4E69626172616E2043682E204D616861746F09 PRAKASH KUMAR MONDAL 5052414B415348204B554D4152204D4F4E44414C2009 UNFERA BEWA 554E4645524120424557410909 BODRUL HOQUE 424F4452554C20484F5155450909 à¦à¦¾à¦¦à¦² চনà§à¦¦à§à¦° সরকার E0A6E0A6BEE0A6A6E0A6B220E0A69AE0A6A8E0A78DE0A6A6E0A78DE0A6B020E0A6B8E0A6B0E0A695E0A6BEE0A6B0 à¦à¦¾à¦¦à¦² চনà§à¦¦à§à¦° সরকার E0A6E0A6BEE0A6A6E0A6B220E0A69AE0A6A8E0A78DE0A6A6E0A78DE0A6B020E0A6B8E0A6B0E0A695E0A6BEE0A6B0 মিনতি সিংহ E0A6AEE0A6BFE0A6A8E0A6A4E0A6BF20E0A6B8E0A6BFE0A682E0A6B9 রেখা সরকার E0A6B0E0A787E0A696E0A6BE20E0A6B8E0A6B0E0A695E0A6BEE0A6B0 রেখা সরকার E0A6B0E0A787E0A696E0A6BE20E0A6B8E0A6B0E0A695E0A6BEE0A6B0 SUKDEB SARKARপ 53554B444542205341524B4152E0A6AA KEYAMUL SEKH 4B4559414D554C2053454B480909 घोष पारà¥à¤µà¤¤à¥€ E0A498E0A58BE0A4B720E0A4AAE0A4BEE0A4B0E0A58DE0A4B5E0A4A4E0A580 à¦à¦¨à§à¦Ÿà§ সরকার E0A69DE0A6A8E0A78DE0A69FE0A78120E0A6B8E0A6B0E0A695E0A6BEE0A6B0 à¦à¦²à¦°à¦¾à¦® সরকার E0A6E0A6B2E0A6B0E0A6BEE0A6AE20E0A6B8E0A6B0E0A695E0A6BEE0A6B0 মনোতোষ সরকার E0A6AEE0A6A8E0A78BE0A6A4E0A78BE0A6B720E0A6B8E0A6B0E0A695E0A6BEE0A6B0
这是我的代码:
SELECT distinct(FARMER_APPLICATION_ID) as FARMER_APPLICATION_ID,FARMER_AADHAR_NO,FARMER_EPIC_NO,FARMER_NAME,FARMER_GUARDIAN_NAME,FARMER_CROP_NAME,FARMER_L3_NAME,FARMER_L4_NAME,FARMER_L5_NAME,FARMER_L6_NAME,FARMER_BANK_NAME,FARMER_BANK_IFSC,PARTY_NAME,PARTY_CODE,FARMER_BRANCH_NAME FROM BSBY_UAT.PROPOSAL where FARMER_AADHAR_NO NOT regexp '^[2-9]{1}[0-9]{3}[0-9]{4}[0-9]{4}$' OR FARMER_BANK_IFSC not regexp '^[A-Z]{4}0[A-Z0-9]{6}$' OR FARMER_NAME NOT REGEXP '[A-Za-z.() ]$' OR FARMER_GUARDIAN_NAME NOT REGEXP '[A-Za-z.() ]$' or FARMER_EPIC_NO NOT REGEXP'[A-Za-z0-9\/]$' or FARMER_BANK_NAME NOT REGEXP'[A-Za-z.\-() ]$' or FARMER_BRANCH_NAME NOT REGEXP'[A-Za-z0-9.,()\[\]\-]$'
P粉3409802432024-02-26 16:06:27
这在问题中取“2”;我想知道它是否提供了任何线索:
à ¦ à ¦¿ à ¦• à § à ¦° à ¦® à ¦¾ à ¦¦ à ¦¿ à ¦¤ à § à ¦Â
对于其中一个十六进制字符串,我看到
转换(UNHEX('E0A69DE0A6A8E0A78DE0A69FE0A78120E0A6B8E0A6B0E0A695E0A6BEE0A6B0')使用utf8mb4)
产生 Jhantu Sarkar
这并不一定会带来解决方案,但它可能会提示插入期间存在编码问题。
对于正则表达式,请考虑类似
HEX(column) REGEXP '^(..)*[89ABCDEF]'
这将发现字符串中是否有任何字节具有非 Ascii 的 8 位代码。
这是一个混合物:
CONVERT(UNHEX('53554B444542205341524B4152E0A6AA') USING utf8mb4) --> 'SUKDEB SARKARপ'
也就是说,它是 Ascii,但末尾带有孟加拉语“PA”。事实上,您看到的“SUKDEB SARKARઔ是 Mojibake 的标志。有关 Mojibake(和其他常见混乱)的讨论,请参阅此内容:UTF-8 字符有问题;我看到的不是我存储的