add char_set support