select username from user where not(username regexp "[\u4E00-\u9FA5]");
創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元儀隴做網(wǎng)站,已為上家服務(wù),為儀隴各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
出來(lái)的結(jié)果都是英文
新建一個(gè)存儲(chǔ)過程進(jìn)行判斷
DELIMITER //CREATE DEFINER=`baixiong`@`%` FUNCTION `getFirstCode`(in_string VARCHAR(100)) RETURNS varchar(100) CHARSET utf8DETERMINISTICCOMMENT '獲取中文首字母函數(shù)'BEGIN#定義臨時(shí)字符串變量,用于接收函數(shù)中傳遞進(jìn)來(lái)的字符串值,這里是in_stringDECLARE tmp_str VARCHAR(100) CHARSET gbk DEFAULT '' ;#定義臨時(shí)字符串變量,用于存放函數(shù)中傳遞進(jìn)來(lái)的字符串值的第一個(gè)字符DECLARE tmp_char VARCHAR(2) CHARSET gbk DEFAULT '';#tmp_str的長(zhǎng)度DECLARE tmp_loc SMALLINT DEFAULT 0;#初始化,將in_string賦給tmp_strSET tmp_str = in_string;#獲取tmp_str最左端的首個(gè)字符,注意這里是獲取首個(gè)字符,該字符可能是漢字,也可能不是。SET tmp_char = LEFT(tmp_str,1);#獲取字符的編碼范圍的位置,為了確認(rèn)漢字拼音首字母是那一個(gè)SET tmp_loc=INTERVAL(CONV(HEX(tmp_char),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA ,0xCEF4,0xD1B9,0xD4D1);#判斷左端首個(gè)字符是多字節(jié)還是單字節(jié)字符,要是多字節(jié)則認(rèn)為是漢字且作以下拼音獲取,要是單字節(jié)則不處理。如果是多字節(jié)字符但是不在對(duì)應(yīng)的編碼范圍之內(nèi),即對(duì)應(yīng)的不是大寫字母則也不做處理,這樣數(shù)字或者特殊字符就保持原樣了IF (LENGTH(tmp_char)1 AND tmp_loc0 AND tmp_loc24) THENSELECT ELT(tmp_loc,'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z') INTO tmp_char; #獲得漢字拼音首字符END IF;RETURN tmp_char;#返回漢字拼音首字符END//DELIMITER ;
在使用mysql時(shí)候,某些字段會(huì)存儲(chǔ)中文字符,或是包含中文字符的串,查詢出來(lái)的方法是:
SELECT col FROM table WHERE length(col)!=char_length(col)
當(dāng)字符集為UTF-8,并且字符為中文時(shí),length() 和 char_length() 兩個(gè)方法返回的結(jié)果是不相同的。
用正則表達(dá)式來(lái)判斷,示例SQL代碼如下:select username from user where not(username regexp "[\u0391-\uFFE5]");這個(gè)正則表達(dá)式就能判斷出來(lái)了。
嘿嘿,剛好我知道一種方法,用正則表達(dá)式來(lái)判斷,示例SQL代碼如下:select username from user where not(username regexp "[\u0391-\uFFE5]");這個(gè)正則表達(dá)式就能判斷出來(lái)了。
只能說你的php文件默認(rèn)編碼和你的數(shù)據(jù)庫(kù)編碼不同。你可以右鍵單擊你的工程文件-properites-text file encoding選擇和和你數(shù)據(jù)庫(kù)一樣的編碼就可以 了。
當(dāng)前名稱:mysql怎么判斷中文 在mysql如何顯示中文
網(wǎng)站地址:http://vcdvsql.cn/article46/hpgghg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站排名、商城網(wǎng)站、網(wǎng)站導(dǎo)航、服務(wù)器托管、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容