Я бы указал на две основные ловушки:
Сначала убедитесь, что ваша база данных правильно установлена как utf-8. Некоторые базы данных вынуждают вас выбирать это во время установки, другие - во время создания схемы / пользователя.
Во-вторых, убедитесь, что используемый вами язык программирования поддерживает utf-8. Известно, что php вызывает проблемы при работе со строками и utf-8.
Оператор создания базы данных для Firebird выглядит следующим образом:
Убедитесь, что вы используете как минимум версию 2.0 firebird, первой версии, поддерживающей utf-8.
CREATE DATABASE <database>
USER <username>
PASSWORD <password>
PAGE_SIZE <pagesize>
DEFAULT CHARACTER SET UTF8
В качестве альтернативы вы можете создать одно поле с помощью
CREATE TABLE money (
SYMBOL VARCHAR(50) CHARACTER SET UTF8 )
Редактировать: Чтобы уточнить, что хранить: вы сохраняете именно те символы, которые отображаются на экране. Скорее всего, вы можете просто вырезать / вставить их из любой программы в вашу базу данных или внутри оператора SQL. Нет необходимости возиться с преобразованиями в int / hex / oct / ascii.
Edit2: Конечно, вы храните не полностью отформатированное число, а только символы одной валюты.