На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
Страницы: (4) 1 2 [3] 4  все  ( Перейти к последнему сообщению )  
> Траблы с кодировкой
    Т.е. получается сначала надо создать страницу с UTF-8, а затем только форму на нужный язык?
      Цитата foenix @
      надо создать

      можно
      а как нужно в каждом случае может оказаться по своему
      я показал как у меня работает
      ты показал как у тебя не работает
      как минимум есть один рабочий вариант
      в какой кодировке должен быть твой сайт тебе же и решать
      есть принципиальные вопросы
      а есть возмжности инструментов
        Такой вопрос: а если у меня записи в БД Firebird в кодировке Win-1251,
        а caption кнопок на форме в кодировке utf-8, как сделать так чтобы
        браузер корректно отображал и русские кнопки и русский записи в таблице?

        Проблема в том, что если я выставляю win-1251 везде где только можно,
        у меня все равно в названия кнопок отображаются некорректно, хотя записи
        в DBGrid нормально.

        Посоветуйте что-нить...
          Переведи базу данных под утф-8 или текущую сессию делаю таковой.
            Я даную проблемы решил следующим образом:
            - бросил на форму компоненты работающие с базами: database, QUERY, datasource, это впрочем все делают, но почему я выделил QUERY - так как с его помощью я и решил проблему
            - в моём случае бросил на кнопку код
            ExpandedWrap disabled
              mysql_query("SET NAMES 'utf8'");
              mysql_query("SET CHARACTER SET 'utf8'");
               
              $sql=(' Здесь нужный мне запрос ');
               
              $this->sql_ob_monitor->Active=False;
              $this->sql_ob_monitor->setSQL($sql);
              $this->sql_ob_monitor->Active=True;

            и всё, мне были видны русские буквы - русскими, латынь - латынью, настройки базы, таблиц и полей везде utf8

            Добавлено
            Цитата Vl@d @

            sql_ob_monitor - имя компонента QUERY
              Повезло тебе, т.к. не всегда это помогает,
              могли быть дополнительные грабли.
              Цитата Vl@d @
              mysql_query

              лишняя функция т.к. у тебя уже есть на форме компонент database.
              Логичнее использовать какую то одну библиотеку,
              в данном случае правильнее было бы вызвать как здесь
              http://forum.sources.ru/index.php?showtopi...dpost&p=2346431
              т.к., кроме всего прочего, не указывая в mysql_query идентификатор соединения, можеш не туда отдать команду при одновременном соединении с двумя базами...
                Цитата vicis @
                RadPhp XE

                PHP
                default charset - utf8

                Editor Options
                Text Encoding - utf8

                остальное не трогаем

                Прошу прощения за эксгумацию...
                Заработает только при перезапуске среды RadPHP. Пока не перезапустил, лицезрел кракобяки вместо русских букв.
                  Никак не могу понять, как поменять кодировку title. На странице русские буквы отображаются нормально, а в заголовке знаки вопроса.
                  В FAQ насчет title ничего не нашел.
                    Решил проблему отображения вопросов вместо русских букв в title страницы.

                    Итак, проблема:
                    если в инспекторе в свойстве caption страницы, допустим Page1, написать что-нибудь по-русски, то после запуска (F9) в Title страницы, отображаемой в браузере, имеем вопросительные знаки.

                    Решил проблему в присущем мне духе быдлокодера, а именно, нужно в обработчик создания страницы еще раз написать нужный Title (то есть Caption).
                    Код такой:
                    ExpandedWrap disabled
                      function Page1Create($sender, $params)
                          {
                          $this->Caption = 'Заголовок';
                          }


                    Ну, и на всякий случай, полный код страницы
                    Скрытый текст
                    ExpandedWrap disabled
                      <?php
                      header('Content-Type: text/html;charset=UTF-8');
                      require_once("rpcl/rpcl.inc.php");
                      //Includes
                      use_unit("forms.inc.php");
                      use_unit("extctrls.inc.php");
                      use_unit("stdctrls.inc.php");
                       
                      //Class definition
                      class Page1 extends Page
                      {
                          function Page1Create($sender, $params)
                          {
                          $this->Caption = 'Заголовок';
                          }
                      }
                       
                      global $application;
                       
                      global $Page1;
                       
                      //Creates the form
                      $Page1=new Page1($application);
                       
                      //Read from resource file
                      $Page1->loadResource(__FILE__);
                       
                      //Shows the form
                      $Page1->show();
                       
                      ?>


                    P.S. Кстати, на этом форуме можно как-то редактировать сообщения?
                      Цитата DoctorGauss @
                      Никак не могу понять, как поменять кодировку title. На странице русские буквы отображаются нормально, а в заголовке знаки вопроса.
                      В FAQ насчет title ничего не нашел.

                      У тебя один из файлов был не в UTF-8 кодировке.
                      Цитата DoctorGauss @
                      P.S. Кстати, на этом форуме можно как-то редактировать сообщения?

                      Можно. оно будет доступно со временем (точно не помню от времени или от количества сообщений зависит)

                      Добавлено
                      Цитата DoctorGauss @
                      Заработает только при перезапуске среды RadPHP. Пока не перезапустил, лицезрел кракобяки вместо русских букв.

                      Походу это связано с апачем. РадПых по шаблону при старте собирает конфигурационный файл.
                        Цитата ViktorXP @
                        У тебя один из файлов был не в UTF-8 кодировке.

                        Сдается,что не так,а просто именно Caption самой формы (и только,с остальным все нормально вроде),выставленная в IDE, не сохраняется в UTF-8 даже если сама страница в UTF.Проверял,баг это.После открытия в к-л текстовом редакторе и пересохранении в UTF все встает на свои места. Да и пример
                        ExpandedWrap disabled
                          function Page1Create($sender, $params)
                             {
                             $this->Caption = 'Заголовок';
                             }

                        как раз это подтверждает,так как тут будет сохранено в кодировке страницы.
                        Сообщение отредактировано: Alex2011 -
                          ViktorXP тебе всё правильно сказал
                            Цитата ViktorXP @
                            У тебя один из файлов был не в UTF-8 кодировке.

                            Собственно, в проекте единственный файл, в котором записан этот заголовок. Это файл unit1.xml.php.
                            С помощью Notepad++ преобразовал его в utf-8 (c bom). В результате все-равно вопросы в title. Пока работает только способ, описанный мной выше.
                              созданный однажды в RadPhp XE файл, не зависимо от дальнейших настроек, остаётся в той кодировке, в которой создан.
                              По этому, если изменил в настройках кодировку на UTF после создания файла, толку не будет. Создай новый и через буфер обмена скопируй тексты.
                              Цитата DoctorGauss @
                              С помощью Notepad++ преобразовал его в utf-8 (c bom). В результате все-равно вопросы в title.

                              Естественно, т.к. преобразование это по сути дописывание в начало файла признака что он utf-8, но это не влияет на содержимое.
                              здесь ещё почитай про кодировки
                              Мусор в тексте (сообщение #2817354)
                                Цитата vicis @
                                созданный однажды в RadPhp XE файл, не зависимо от дальнейших настроек, остаётся в той кодировке, в которой создан.
                                По этому, если изменил в настройках кодировку на UTF после создания файла, толку не будет. Создай новый и через буфер обмена скопируй тексты.

                                Разумеется, создал новый проект, в Caption написал "Заголовок". После запуска в Title получил ?????????
                                По поводу кодировки я далеко не спец. Просто я наивно подумал, раз уж в Notepad++ написано "Преобразовать в UTF", то он именно преобразует все символы в UTF кодировку, а не тупо поменяет признак кодировки.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (4) 1 2 [3] 4  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0447 ]   [ 16 queries used ]   [ Generated: 26.04.24, 19:06 GMT ]