I found an way to check if a string contain Chinese character.
FORM filter_illegal_char USING l_v_string TYPE STRING
CHANGING l_v_illegalflag TYPE CHAR1.
DATA: l_v_returnstr TYPE STRING.
DATA: l_v_len TYPE I.
DATA: l_v_cnt TYPE I.
DATA: l_v_char1 TYPE C.
DATA: l_v_legalchar TYPE STRING.
DATA: l_v_point(2) TYPE X.
CONSTANTS: l_v_last_ascii_zf(2) TYPE X VALUE '00FF'.
l_v_len = STRLEN( l_v_string ).
WHILE l_v_cnt LT l_v_len.
l_v_char1 = l_v_string+l_v_cnt(1).
l_v_point = cl_abap_conv_out_ce=>uccp( l_v_char1 ).
IF l_v_point LE l_v_last_ascii_zf. " not chinese character
ELSE. " contain illegal character
l_v_char1 = '_'.
v_flag = 'X'.
ENDIF.
ENDIF.
l_v_cnt = l_v_cnt + 1.
ENDWHILE.
CHECK l_v_illegalflag EQ 'X'.
WRITE: 'Illegal character exist' COLOR 6,l_v_string.
ENDFORM. "filter_illegal_char