Перейти к содержимому

Фотография

проблема при миграции testlink-а


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Shag_gy

Shag_gy

    Новый участник

  • Members
  • Pip
  • 2 сообщений

Отправлено 13 апреля 2011 - 08:05

Добрый день
При миграции TestLink-а с версии 1.8.6 на 1.9.2(на 1.9.1 тоже пробовали) в одном месте поехала кодировка, а именно при просмотре результатов прогона тестов, название группы тестов. В остальных местах все нормально. Не подскажите в чем может быть дело?

С уважением Юрий
Прикрепленный файл  TestLink.JPG   113,09К   41 Количество загрузок:
  • 0

#2 alyubin

alyubin

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Lyubin Alexander

Отправлено 03 мая 2011 - 16:18

Коллеги, нашлось ли решение? проблема с 1.9 присутствует!

спасибо
  • 0

#3 alyubin

alyubin

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Lyubin Alexander

Отправлено 27 августа 2012 - 12:05

в execSetResults.php исправил
вместо
$str .= htmlentities($elem)
вывел просто $elem

function smarty_assign_tsuite_info(&$smarty,&$request_hash, &$db,&$tree_mgr,$tcase_id,$tproject_id)
{
$fpath=$tree_mgr->get_full_path_verbose($tcase_id, array('output_format' => 'id_name'));
$tsuite_info = get_ts_name_details($db,$tcase_id);
foreach($fpath as $key => $value)
{
unset($value['name'][0]); // Remove test plan name
unset($value['node_id'][0]); // Remove test plan name
$str='';
foreach($value['name'] as $jdx => $elem)
{
$str .= "<a href=\"javascript:openTestSuiteWindow(" . $value['node_id'][$jdx] . ")\"> ";
// было $str .= htmlentities($elem) . '</a>';
// стало $str .= $elem . '</a>';
$str .= $elem . '</a>';
}

  • 0

#4 alyubin

alyubin

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Lyubin Alexander

Отправлено 27 августа 2012 - 14:57

Другая проблема - такие же крокозяблы появляются в представлении для печати требований (TL 1.9.2) в пункте Related Test Cases.

Как решил эту ситуацию.
в testlink-1.9.2/lib/functions/print.inc.php

колдовал со строкой
$output .= htmlentities($tc['tc_external_id'] . $title_separator . $tc['name']) . "<br/>";


как раз $tc['name']) выводилось криво, крокозябликами (http://ru.wikipedia....wiki/Кракозябры)
Т.е., судя из WIKI:
Исходная кодировка UTF-8
При декодировании воспринято как Windows-1252
Сам текс вида:
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.


В php есть функция iconv (http://php.net/manua...ction.iconv.php)
Вывел все варианты таким циклом
<?php 
$tab = array("UTF-8", "ASCII", "Windows-1252", "ISO-8859-15", "ISO-8859-1", "ISO-8859-6", "CP1256");
$chain = "";
foreach ($tab as $i)
{
foreach ($tab as $j)
{
$chain .= " $i -> $j - ".iconv($i, $j, "$my_string");
}
}

echo $chain;
?>


ОКАЗАЛОСЬ, что читабельный вариант - это iconv("UTF-8","UTF-8",$tc['name'])
:victory:

Проблема решилась, но в чем прикол? :)
  • 0

#5 zatv

zatv

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Татьяна

Отправлено 31 октября 2012 - 10:15

Для исправления кодировки необходимо добавить в корень папки testlink файл ".htaccess" с содержимым AddDefaultCharset UTF-8. Сервер перезапускать не надо, применяется при каждом обращении к серверу.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных