well, the first character set is Unicode, which basically supports all languages. The second one ("P1") is western-Europe ASCII, supporting English and some extra western characters.
- in what languages is your data? what languages will you need to support?
- Do you want to convert UNICODE db to ASCII db or the other way around?
Converting from WE8...P1 to Unicode can easily be done by exporting (setting NLS_LANG to WE8..P1), creating a new, empty database, and importing (again, setting NLS_LANG to WE8..P1). However, converting to Unicode has some side effects, especially regarding to limits of any varchar2 columns - if it was varchar2 (20), it usually means 20 bytes, so when using Unicode 20 bytes can hold less (non-English) characters... So, to avoid data truncation, some columns might need to be enlarged... All the details are here:
Converting from UTF8 to WE8..P1 is again, doing export with NLS_LANG=WE8...P1 (you will now lose all characters that don't map into P1 ASCII, like Arabic, Chinese etc), creating an empty We8..P1 database and importing the data with NLS_LANG=WE8ISO8859P1.