Ingres: как прочитать базу данных в указанной кодировке на PHP? - PullRequest
1 голос
/ 08 сентября 2011

Я должен использовать CakePhp с ingres.

Проблема в том, что я должен использовать UTF-8 на веб-сайте, а база данных представлена ​​в ISO-8859-1.

Итак, мой вопрос, как справиться с этой проблемой кодировки?

На MySql я знаю, что могу выполнить запрос «SET NAMES UTF-8» к базе данных, но не могу найти, как это сделать с ingres?

Большое спасибо!

1 Ответ

1 голос
/ 09 сентября 2011

К сожалению, кодировка / набор символов определяется на системном уровне с использованием переменной среды II_CHARSETxx.См. Вывод ingprenv, чтобы получить ваше значение.Вы можете изменить его, но вы можете получить повреждение данных.Для работы с UTF-8 лучше всего использовать N (VAR) CHAR вместо VARCHAR, а драйвер PHP будет предполагать, что все входящие данные находятся в UTF-8, и преобразовывать их в UTF-16.Это преобразование контролируется настройкой ini ingres.utf8 (см. http://php.net/manual/en/ingres.configuration.php#ini.ingres.utf8)

...