Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JPGRAPH и UTF-8, проблема с локализацией 
:(
    Опции темы
vvvictor
Дата 20.3.2007, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 7.3.2006

Репутация: нет
Всего: нет



Коллеги !
Собственно кто-нибудь сталкивался с данной проблемой ?
jpgraph используется в составе dotProject. 
На русском языке не формируется диаграмма Ганта
В логах апача идет ругательство на неопознанный символ при "преобразовании" строки
Причем в inc-файле jpgraph жестко указанно, что надо использовать кириллицу, а судя по логу ошибки jpgraph пытается прогнать 
строку через  "японское" преобразование.........

Дополнительных данных во конкретным версиям не пишу - потому как, судя по моим безуспешным поискам, проблема тянется со старых версий...........

Код
Tue Mar 20 13:43:01 2007] [error] [client xxxxxxxxxx] PHP Warning:  imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: any2eucjp(): invalid code in input string in /dotproject/lib/jpgraph/src/jpgraph.php on line 6326, referer: http://yyyyyyyyyyyy/dotproject/index.php?m=tasks&a=viewgantt&tab=&project_id=2

PM   Вверх
mannnz
Дата 15.6.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.5.2007

Репутация: нет
Всего: нет



Когда-то разбирался с данной системой (dotproject) у меня проблемы были с отображением киррилицы вообще - вместо букв что-то не то писалось. Источником проблем оказалось строчки в модулях с преобразованием в юникод utf8_......() - пришлось из закомментить и все заработало.
PM MAIL   Вверх
sTa1kEr
Дата 17.6.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: нет
Всего: 146



vvvictor, Да, да... Было дело smile
Цитата(vvvictor @  20.3.2007,  13:17 Найти цитируемый пост)
Дополнительных данных во конкретным версиям не пишу - потому как, судя по моим безуспешным поискам, проблема тянется со старых версий...........

Верно, еще с 1ой версии dotProject-а имеется эта проблема.
Я тогда решил эту проблему в лоб - в модулях tasks и projects в файлах gantt*.php проверял если кодировка utf-8 и язык русский, то конвертируем все в Windows-1251 и только затем скармливаем jpgraph-у. Но сейчас я бы предложил попробовать подключить mbstrings, установить внутреннюю кодировку в utf-8 и включить подмену всех строковых функций на аналоги mbstrings.
PM MAIL   Вверх
Lion_Killer
Дата 15.10.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 15.10.2007

Репутация: нет
Всего: нет



Цитата(mannnz @ 15.6.2007,  23:39)
Когда-то разбирался с данной системой (dotproject) у меня проблемы были с отображением киррилицы вообще - вместо букв что-то не то писалось. Источником проблем оказалось строчки в модулях с преобразованием в юникод utf8_......() - пришлось из закомментить и все заработало.

Пытаюсь прикрутить utf-8 с кирилицей. При использование русификатора + поставить свой ttf шрифт вроде как то работает, но есть сомнение что все представляеться в БД как windows-1251 что не есть гуд (например при експортах импотрах могут возникнуть проблемы). Прочита тут
http://webcollab.sourceforge.net/unicode.html  -похоже не все так просто с юникодом в ПХП и Сиквеле. 
Уменя БД 4.0 с latin1 кодировкой. как я понимаю есть родной для пхп (и совсем теперь не старнно что в некоторых местах jpGraph-а есть преобразование в кирилица-латину-юникод). ЖпГраф хавает Юникод и почемуто используют еще а ф-ю utf8_decode которая обреазет его до 1байта  и у меня на графике одни знаки вопросов (да и уменя тоже много вопросв smile ). Убрал  - стало лутше но не совсем теперь непонятные иероглифы. Значить кодировка не та.
Суть в том чтоб смена языка интерефеса не влияла на нутреное представление строк в БД. А то все что юзер набрал в англ даже не на графике будет кряками, и на оборот. И еще при смене кодировки странички на 1251 весь русский текст что как бы в юникоде стает такими же значками что и на графие ганта.. ! Значит ктото по дороге Юникод конвертит до 1251 или сама ценкия рисовалка imagetext или imagettftext принимает не ЮТФ а 1251  smile 

Ктонебуть что-небуть посоветует. Чтоб внутерный форамт был ЮТФ (или пускай уже Латина1) при любом языке.

А вот один из вариантов который я нашол:
1. Убрать utf8_decode
2. Заменить 
    imagestring($this->img,$this->font_family,$x,$y-$h+1,$txt,$this->current_color);
        на 
    ImageTTFText($this->img,$this->font_size-2,0,$x,$y,$this->current_color,"/tmp/font/arial.ttf", $txt);
    Как я выяснил imagestring от прирожы  не держит кирилицу даже если в юникодле ему передать smile
    Есть вариант подгружать шрифты для imagestring (ф-я imageloadfont) но или леввый фонт я взял незнаю не пошло но помоему там мененгиту много будет..
3. Что будет если сэтну рус ленгвидж боясь пробивать smile
     
Причем все это отнситься к функции _StrokeBuiltinFont. Но есть и другая _StrokeTTF! которая используеться почему то только для диаграмы задач а не проектов!

Код

    if( $this->font_family >= FF_FONT0 && $this->font_family <= FF_FONT2+1) {    
        $this->_StrokeBuiltinFont($x,$y,$txt,$dir,$paragraph_align,$boundingbox,$debug);
    }
    elseif($this->font_family >= _FF_FIRST && $this->font_family <= _FF_LAST)  {
        $this->_StrokeTTF($x,$y,$txt,$dir,$paragraph_align,$boundingbox,$debug);
    }


Зачем это сделали не понятно но если font_family установить такиие же как  и для StrokeTTF то думаю все будет ок только убрать utf8_decode все жа недо будет. 
Есть еще непонятное значение локали в настройках админской панели на что оно влияет вообще? 
И как влияет на работу локаль системная на сервере?





Это сообщение отредактировал(а) Lion_Killer - 16.10.2007, 13:25
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0674 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.