Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Возможно я похож на идиота (а может им и являюсь :)), но у меня не работают UPPER/LOWER для поля типа NCHAR. То есть SELECT UPPER(<NCHAR_Field>) FROM <Table> возвращает мне строку в первозданном виде. Если текст в ней - русский. Для английского - все как и ожидаем. Где, как и чем мне выпрямить руки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 12:54 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Евгений ФадеевВозможно я похож на идиота (а может им и являюсь :)), но у меня не работают UPPER/LOWER для поля типа NCHAR. То есть SELECT UPPER(<NCHAR_Field>) FROM <Table> возвращает мне строку в первозданном виде. Если текст в ней - русский. Для английского - все как и ожидаем. Где, как и чем мне выпрямить руки?локали какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 13:01 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Такие функции работают только в рамках локали, т.ч. Денис прав - проверьте свои локали, как БД, так и клиента. Посмотреть, какая буква в какую (точнее, какой код в какой) будет преобразовываться (и какие вообще буквы считать маленькими, а какие большими :) можно в описании соответствующей локали, например для Ru_ru и кодировки 1251 см. файл %Informixdir%\gls\lc11\ru_ru\04e3.lc а в нем разделы upper, lower, toupper, tolower... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:55 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Евгений ФадеевВозможно я похож на идиота (а может им и являюсь :)), но у меня не работают UPPER/LOWER для поля типа NCHAR. То есть SELECT UPPER(<NCHAR_Field>) FROM <Table> возвращает мне строку в первозданном виде. Если текст в ней - русский. Для английского - все как и ожидаем. Где, как и чем мне выпрямить руки?локали какие?Как и где это посмотреть? *как неприятно чувствовать себя ламером* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 18:57 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
есть локейл базы DB_LOCALE, есть клиента CLIENT_LOCALE (если они разные, то информикс будет пытаться перекодировать, например koi8->1251). DB_LOCALE -- задается при создании бд и эта информация хранится в sysmaster echo "select * from sysdbslocale where dbs_dbsname='a'"|dbaccess sysmaster CLIENT_LOCALE -- задается соотвественно на клиенте в setnet32 (реестре), в odbc, в jdbc, а можно при установлении соеднинения задать. Все зависит от того как в программе у вас сделано. Обычно (для виндоус) задают такие (в setnet32): CLIENT_LOCALE=ru_ru.1251 DB_LOCALE=ru_ru.1251 -- конечно в третьем тысячилетии все это слегка дико звучит, особенно если echo $LANG ru_RU.UTF-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 08:51 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Вот например как у меня под линуксом это выглядит: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. CLIENT_LOCALE=ru_RU.utf8 не хочет работать :( клиент старый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 09:01 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Евгений ФадеевКак и где это посмотреть? *как неприятно чувствовать себя ламером*Самое главное что ты можешь перебороть себя и задать вопрос. PS: echo $LANG -- ланг тут не при чем, это переменная OS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 09:23 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Журавлев Денисесть локейл базы DB_LOCALE, есть клиента CLIENT_LOCALE (если они разные, то информикс будет пытаться перекодировать, например koi8->1251). DB_LOCALE -- задается при создании бд и эта информация хранится в sysmaster echo "select * from sysdbslocale where dbs_dbsname='a'"|dbaccess sysmaster CLIENT_LOCALE -- задается соотвественно на клиенте в setnet32 (реестре), в odbc, в jdbc, а можно при установлении соеднинения задать. Все зависит от того как в программе у вас сделано. Обычно (для виндоус) задают такие (в setnet32): CLIENT_LOCALE=ru_ru.1251 DB_LOCALE=ru_ru.1251 -- конечно в третьем тысячилетии все это слегка дико звучит, особенно если echo $LANG ru_RU.UTF-8О-оу! Что я вижу! en_US.819 - Доктор это конец? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:53 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Евгений ФадеевКак и где это посмотреть? *как неприятно чувствовать себя ламером*Самое главное что ты можешь перебороть себя и задать вопрос.С этим проблем нет (я уже давно не мальчик, так что не знать - не стыдно) Журавлев ДенисPS: echo $LANG -- ланг тут не при чем, это переменная OS. Лажа. Пишет вот что: echo $LANG LANG: Undefined variable. Но у нас Solaris, а не Linux ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:56 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Евгений Фадеев Журавлев Денис Евгений ФадеевКак и где это посмотреть? *как неприятно чувствовать себя ламером*Самое главное что ты можешь перебороть себя и задать вопрос.С этим проблем нет (я уже давно не мальчик, так что не знать - не стыдно) Журавлев ДенисPS: echo $LANG -- ланг тут не при чем, это переменная OS. Лажа. Пишет вот что: echo $LANG LANG: Undefined variable. Но у нас Solaris, а не Linux set | grep LOCALE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:57 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Евгений ФадеевО-оу! Что я вижу! en_US.819Плохо, она вообще наверно семибитная. Евгений Фадеев- Доктор это конец?Ну не конец, а размер у базы какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:58 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Евгений ФадеевЛажа. Пишет вот что: echo $LANG LANG: Undefined variable. Но у нас Solaris, а не LinuxЗабудь, к делу отношения вообще не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:59 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
Евгений ФадеевО-оу! Что я вижу! en_US.819 - Доктор это конец? Извините, навеяло :) --------- Пациент на операционном столе - Доктор, я умру? - А как же! Обязательно умрете, вопрос только когда? --------- Не все так страшно, но изменить локаль существующей БД уже нельзя. Для смены локали необходимо выгрузить БД утилитой dbexport, проверить корректность данных, особенно связанных с особенностями языка, и загрузить снова dbimport в уже локализованную БД. Желательно при выгрузке уже сразу устанавливать даты нужного формата, десятичный разделитель. Вам очень нужно почитать существующий FAQ по этим вопросам http://www.sql.ru/faq/faq.aspx?id=549 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 12:18 |
|
||
|
NCHAR и UPPER/LOWER
|
|||
|---|---|---|---|
|
#18+
vasilisНе все так страшно, но изменить локаль существующей БД уже нельзя. Для смены локали необходимо выгрузить БД утилитой dbexport, проверить корректность данных, особенно связанных с особенностями языка, и загрузить снова dbimport в уже локализованную БД. Желательно при выгрузке уже сразу устанавливать даты нужного формата, десятичный разделитель. Вам очень нужно почитать существующий FAQ по этим вопросам http://www.sql.ru/faq/faq.aspx?id=549 За ссылку спасибо, как-то я не глянул в FAQ сразу, а, похоже, придется плотно смотреть... Выход нас не устроит (судя по всему). Возможностей таких нет :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2007, 17:31 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=34488463&tid=1608396]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 416ms |

| 0 / 0 |
