За последние 24 часа нас посетили 20786 программистов и 1116 роботов. Сейчас ищут 380 программистов ...

oracle проблема с кодировками

Тема в разделе "Oracle Database", создана пользователем Jasur, 22 янв 2007.

  1. Jasur

    Jasur Активный пользователь

    С нами с:
    2 июн 2006
    Сообщения:
    40
    Симпатии:
    0
    Привет всем!
    скажите плиз. как я могу решит проблема с кодировками
    у меня на БД крил. кодировка а когда я даю запрос на странице они будет
    ??????????
     
  2. Anonymous

    Anonymous Guest

    кириллических кодировок много. Какая конкретно?
    Как настраивали? Что где прописывали?
     
  3. ssh2010

    ssh2010 Активный пользователь

    С нами с:
    6 авг 2007
    Сообщения:
    11
    Симпатии:
    0
    Ребята, таже проблема... столько маюсь над ней...
    Админ ораклёвого сервака говорит, что кодировка 1251. сервак там юниксовый
     
  4. Anonymous

    Anonymous Guest

     
  5. ssh2010

    ssh2010 Активный пользователь

    С нами с:
    6 авг 2007
    Сообщения:
    11
    Симпатии:
    0
    Установил Зенд фор Оракл, во время установки связал его с апачем. Все работает, но промблемка со шрифтами.

    Также пробовал ставить php-5.2.1-Win32 он вообще не хочет подгружать библиотету php_oci8.dll. На тестовой машине получилось нормально установить php-5.2.1-Win32, и текст нормально из базы там выводился, но на рабочем серваке никак не хочет.
     
  6. TheSingle

    TheSingle Активный пользователь

    С нами с:
    26 ноя 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Moscow
    Но как мне не нравится этот оракл, привык уже к Mysql и Mssql.

    Вот например, не могу найти, с помощью какой функции делать запрос в определённой кодировкой как в Mysql:

    Код (Text):
    1.  
    2. mysql_query("SET NAMES koi8r");
    Данные в Oracle храняться в UTF-8, файл с кодом сохранён в Windows-1251, вывод так же в кодировке Windows-1251.
     
  7. Anonymous

    Anonymous Guest

    четвертый параметр у oci_connect - имя кодировки соединения.
     
  8. TheSingle

    TheSingle Активный пользователь

    С нами с:
    26 ноя 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Moscow
    Ни чего не происходит. Как были ????????, так они и остались вместо русских букв.

    Код (Text):
    1. $conn_oci = oci_connect($user, $pass, $db, 'windows-1251') or die ("Нет соединения с сервером: " . oci_error());
    Думаю, что это из-за версии Oracle, у нас стоит 9.2.0.5
    HTTPD сервис ни каких ошибок не пишет.
     
  9. Anonymous

    Anonymous Guest

    У Оракла нет такой кодировки, windows-11251.
    Есть CL8MSWIN1251
    Читайте документацию, пожалуйста.
     
  10. TheSingle

    TheSingle Активный пользователь

    С нами с:
    26 ноя 2007
    Сообщения:
    27
    Симпатии:
    0
    Адрес:
    Moscow
    Спасибо, гигант знаний. Всё заработало. А на будущее можно сказать, где эту документацию взять.
     
  11. Anonymous

    Anonymous Guest

    На сайте Оракла? =)
     
  12. Xmen

    Xmen Активный пользователь

    С нами с:
    3 июн 2008
    Сообщения:
    34
    Симпатии:
    0
    $conn = oci_connect("IBS", "IBS", $db,'CL8MSWIN1251');
    Ничего не меняется. Русские буквы отображается крякообразно. Хотя у меня установлен и клиент и PL/SQL и там нормально отображается.
     
  13. версия оракла какая? ось какая?
     
  14. Xmen

    Xmen Активный пользователь

    С нами с:
    3 июн 2008
    Сообщения:
    34
    Симпатии:
    0
    у меня WinXP
    база Oracle 9i на AIX
    клиент тоже Oracle 9i
     
  15.  
  16. Xmen

    Xmen Активный пользователь

    С нами с:
    3 июн 2008
    Сообщения:
    34
    Симпатии:
    0
    Где в клиенте можно установить значение NLS_LANG
     
  17.  
  18. Xmen

    Xmen Активный пользователь

    С нами с:
    3 июн 2008
    Сообщения:
    34
    Симпатии:
    0
    Изменил переменную окружность
    NLS_LANG = AMERICAN_AMERICA.CL8MSWIN1251
    но все равно не получается
     
  19. Helen_k

    Helen_k Активный пользователь

    С нами с:
    24 дек 2009
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    С-Петербург
    Никак не получается справиться с кодировкой.
    Стоит связка PHP5+Apache+Oracle10.
    В оракле NLS_CHARACTERSET=CL8MSWIN1251
    PHP:default_charset=cp1251

    В SQLNavigator все содержимое таблиц видно нормально

    В браузере одни вопросики вместо букв.

    Что делать?
     
  20. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    а установилась ли кодировка?

    Что говорит
    mb_detect_encoding
    на данных полученных из базы?
     
  21. Helen_k

    Helen_k Активный пользователь

    С нами с:
    24 дек 2009
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    С-Петербург
    Как только подключаю эту функцию, сразу нет никакого вывода вообще, чистый лист с кодом
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD>
    <META content="text/html; charset=windows-1251" http-equiv=Content-Type>
    <META name=SKYPE_FRAMEID content=WVGFNSAQMF></HEAD>
    <BODY></BODY></HTML>
     
  22. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Мануал читать нынче совсем не модно?

    Ее не подключать надо. Ее надо вызвать передав в качестве параметра ту строку, что вопросиками у вас печатается.

    И результат работы функции нужно самостоятельно вывести на экран.

    PHP:
    1. <?php
    2. print_r(mb_detect_encoding('some string from database'));
     
  23. Helen_k

    Helen_k Активный пользователь

    С нами с:
    24 дек 2009
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    С-Петербург
    Я и делаю через print_r. Ничего на экран не выводится.
    После перезагрузки выдает "HTTP 500 - внутренняя ошибка сервера"
     
  24. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    мда.
    а расширение mb_string вообще подключено?

    еще такой момент если в командой строке набрать
    SET NLS

    что выводится?
     
  25. Helen_k

    Helen_k Активный пользователь

    С нами с:
    24 дек 2009
    Сообщения:
    10
    Симпатии:
    0
    Адрес:
    С-Петербург
    В командной строке выводится "Переменная среды nls не определена".

    О ужас!!! mb_string вообще не подключено! Дорогой Simpliest, напишите пожалуйста, какие там надо поставить значения. На предыдущих установках на ХР я не включала mb_string и у меня все работало.