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

alyubin

Регистрация: 20 фев 2011
Offline Активность: 07 мар 2013 09:39
-----

Мои сообщения

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

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:

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

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

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>';
}