Трудно диагностировать, что происходит без полного набора продуктов и ОС, задействованных как в операциях вставки, так и в операциях выбора.У меня были похожие проблемы с символом евро, и потребовалось несколько дней, чтобы получить полную картину.Он включал в себя кодирование замазкой, локаль Linux, сеансы Linux NLS_LANG, кодовую страницу Windows, кодовые страницы Windows CMD и используемые символьные шрифты, а также сеанс Windows NLS_LANG.Если вы занимаетесь веб-программированием, кодирование страниц и httpd может быть другим фактором.Убедитесь, что в базе данных все в порядке, вставляя через стек продуктов и получая через другой.Я настроил его так, чтобы я мог вставлять / выбирать одни и те же данные с любой комбинацией Linux, Windows и Windows CMD, в качестве проверки того, что они попадают прямо в БД.Если вы используете только одну систему, вы можете вставить €, получить € и не понимать, что БД хранит то, что она не распознает как €.Это остается незамеченным до тех пор, пока ....
Также в отношении ввода / вывода текста следует использовать кодировку локали вашего ОС / веб-сервера в NLS_LANG, а не в БД.Например в Windows обычно MSWINxxxx.Преобразование в AL32UTF8 выполняется для вас sqlnet.