Commit 1d82d2d9e22af63e39c5eb07e9ace2a29962c798

Authored by Edmar Moretti
1 parent fdab6249

Criação de uma função única para realizar a conversão de caracteres de ISO para UTF

Showing 1 changed file with 33 additions and 18 deletions   Show diff stats
classesphp/classe_atributos.php
... ... @@ -254,8 +254,7 @@ $tipo - Tipo de busca brasil|null
254 254 $shp_index = $result->shapeindex;
255 255 $shape = $this->layer->getfeature($shp_index,-1);
256 256 $v = trim($shape->values[$item]);
257   - if (function_exists("mb_convert_encoding"))
258   - {$v = mb_convert_encoding($v,"UTF-8","ISO-8859-1");}
  257 + $v = $this->converte($v);
259 258 $valitem[] = $v;
260 259 }
261 260 $registros[] = implode(";",$valitem);
... ... @@ -328,8 +327,7 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona
328 327 $shp_index = $result->shapeindex;
329 328 $shape = $this->layer->getfeature($shp_index,-1);
330 329 $valori = trim($shape->values[$item]);
331   - if (function_exists("mb_convert_encoding"))
332   - {$valori = mb_convert_encoding($valori,"UTF-8","ISO-8859-1");}
  330 + $valori = $this->converte($valori);
333 331 $valitem[] = array("item"=>$item,"valor"=>$valori);
334 332 }
335 333 $registros[] = array("indice"=>$shp_index,"valores"=>$valitem,"status"=>$chk);
... ... @@ -370,7 +368,7 @@ $tipolista - Indica se serão mostrados todos os registros ou apenas os seleciona
370 368 {
371 369 $valori = ($shape->values[$item]);
372 370 }
373   - $valori = $valori = mb_convert_encoding($valori,"UTF-8","ISO-8859-1");
  371 + $valori = $this->converte($valori);
374 372 $valitem[] = array("item"=>$item,"valor"=>$valori);
375 373 }
376 374 //if (in_array($shp_index,$shp_atual))
... ... @@ -436,7 +434,7 @@ $onde - Tipo de abrangência espacial (brasil ou mapa)
436 434 $filtro = $l->getfilterstring();
437 435 if ($filtro != ""){$l->setfilter("");}
438 436 $buscas = "ÁÃÓÕÔáàãâóòôõúûíéêç";
439   - $buscasUTF = mb_convert_encoding($buscas,"UTF-8","ISO-8859-1");
  437 + $buscaUTF = $this->converte($buscas);
440 438 $trocas = "AAOOOaaaaoooouuieecAAOOOaaaaoooouuieec";
441 439 $buscas = $buscas.$buscasUTF;
442 440 $sopen = $l->open();
... ... @@ -454,8 +452,7 @@ $onde - Tipo de abrangência espacial (brasil ou mapa)
454 452 {
455 453 if (strtr($v,$buscas,$trocas) == strtr($palavra,$buscas,$trocas))
456 454 {
457   - if (function_exists("mb_convert_encoding"))
458   - {$v = mb_convert_encoding($v,"UTF-8","ISO-8859-1");}
  455 + $v = $this->converte($v);
459 456 $r[] = array("item" => $item,"valor" => $v);
460 457 $encontrado = "sim";
461 458 }
... ... @@ -464,8 +461,7 @@ $onde - Tipo de abrangência espacial (brasil ou mapa)
464 461 {
465 462 if (stristr(strtr($v,$buscas,$trocas),strtr($palavra,$buscas,$trocas)))
466 463 {
467   - if (function_exists("mb_convert_encoding"))
468   - {$v = mb_convert_encoding($v,"UTF-8","ISO-8859-1");}
  464 + $v = $this->converte($v);
469 465 $r[] = array("item" => $item,"valor" => $v);
470 466 $encontrado = "sim";
471 467 }
... ... @@ -676,10 +672,7 @@ $resolucao - Resolucao de busca.
676 672 }
677 673 if (count($resultados) > 0)
678 674 {
679   - if (function_exists("mb_convert_encoding"))
680   - {$res = mb_convert_encoding($this->retornaI($listatemas,$resultados,$this->mapa),"UTF-8","ISO-8859-1");}
681   - else
682   - {$res = $this->retornaI($listatemas,$resultados,$this->mapa);}
  675 + $res = $this->converte($this->retornaI($listatemas,$resultados,$this->mapa));
683 676 return($res);
684 677 }
685 678 else
... ... @@ -847,7 +840,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
847 840 {$nometmp = $layer->getMetaData("TEMA");}
848 841 else if ($layer->getMetaData("ALTTEMA") != "")
849 842 {$nometmp = $layer->getMetaData("ALTTEMA");}
850   - $nometmp = mb_convert_encoding($nometmp,"UTF-8","ISO-8859-1");
  843 + $nometmp = $this->converte($nometmp);
851 844 $final[] = array("nome"=>$nometmp,"resultado"=>$resultados[$tema]);
852 845 }
853 846 return $final;
... ... @@ -1216,7 +1209,7 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1216 1209 if(trim($v) != "")
1217 1210 {
1218 1211 $va = trim($v);
1219   - $va = mb_convert_encoding($va,"UTF-8","ISO-8859-1");
  1212 + $va = $this->converte($va);
1220 1213 $n[] = array("alias"=>trim($t[0]),"valor"=>$va,"link"=>"","img"=>"");
1221 1214 }
1222 1215 }
... ... @@ -1328,8 +1321,8 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1328 1321 {$img = "<img src='".$shape->values[$itemimg[$conta]]."' //>";}
1329 1322  
1330 1323 $arraytemp = array(
1331   - "alias"=>mb_convert_encoding($itensdesc[$conta],"UTF-8","ISO-8859-1"),
1332   - "valor"=>mb_convert_encoding($val,"UTF-8","ISO-8859-1"),
  1324 + "alias"=>$this->converte($itensdesc[$conta]),
  1325 + "valor"=>$this->converte($val),
1333 1326 "link"=>$link,
1334 1327 "img"=>$img
1335 1328 );
... ... @@ -1347,5 +1340,27 @@ $listaDeTemas - (opcional) Lista com os códigos dos temas que serão identificado
1347 1340 {$resultado[] = " ";}
1348 1341 return $resultado;
1349 1342 }
  1343 + /*
  1344 + Function: converte
  1345 +
  1346 + Converte uma string de ISO-8859-1 para UTF-8
  1347 +
  1348 + Parametro:
  1349 +
  1350 + $texto - string que será convertida
  1351 +
  1352 + Return:
  1353 +
  1354 + {string}
  1355 + */
  1356 + function converte($texto)
  1357 + {
  1358 + if (function_exists("mb_convert_encoding"))
  1359 + {
  1360 + if (!mb_detect_encoding($texto,"UTF-8",true))
  1361 + {$texto = mb_convert_encoding($texto,"UTF-8","ISO-8859-1");}
  1362 + }
  1363 + return $texto;
  1364 + }
1350 1365 }
1351 1366 ?>
1352 1367 \ No newline at end of file
... ...