中文字元在utf-8編碼下的範圍是
\4e00-
\9fa5,對應的中文是
一 到
龥。在oracle中處理中文字元可以用正規表示式相關的函式,比如:
1.用來判斷是否匹配到正規表示式的函式regexp_instr(返回第乙個匹配子串的位置,匹配不到返回0);
2.獲取匹配到的第乙個子串的函式regexp_substr;
3.替換所有匹配到的子串的函式regexp_replace;
4.計算匹配到子串個數的函式regexp_count;
5.判斷是否完全匹配正規表示式的函式regexp_like(只能用在where語句中);
示例sql:
select
regexp_instr(
'testtext測試文字'
,'['
|| unistr(
'\4e00')||
'-'|| unistr(
'\9fa5')||
']') reg_idx,
regexp_substr(
'testtext測試文字'
,'['
|| unistr(
'\4e00')||
'-'|| unistr(
'\9fa5')||
']') reg_text,
regexp_replace (
'testtext測試文字'
,'['
|| unistr(
'\4e00')||
'-'|| unistr(
'\9fa5')||
']',
'a') replaced_text
from
dual
執行結果
reg_idx
reg_text
replaced_text9測
testtextaaaa
中文字元相關問題
編碼綜述 php並不是採用什麼編碼的問題,而是你要輸出的編碼問題你把php寫成u8 gb2312它都可以正常使用,區別在於,在chr裡得到的是什麼,chr雖然可以返回乙個編碼大於127的字元,但是這並不意味著php可以正常解析u8 gb2312,乙個漢字在gb2312中由兩個位元組組成,也就是fff...
中文字元相關問題
編碼綜述 php並不是採用什麼編碼的問題,而是你要輸出的編碼問題你把php寫成u8 gb2312它都可以正常使用,區別在於,在chr裡得到的是什麼,chr雖然可以返回乙個編碼大於127的字元,但是這並不意味著php可以正常解析u8 gb2312,乙個漢字在gb2312中由兩個位元組組成,也就是fff...
oracle外部表處理中文字元
在外部表的檔案中,若檔案中的字段由ctrl f來分割,由於ctrl f分隔符在中文後面無法被識別,使得外部表匯入出現問題,解決辦法是在 建立外部表的過程中加入 characterset al32utf8 例 drop table tablename create table tablename id...