Estive lá na empresa a actualizar o Mantis para a última versão (1.0.0rc1 ). Para quem não sabe é uma aplicação de bugtracking em PHP e MySql, facílima de usar e (geralmente) facílima de instalar. Neste caso apareceu, no entanto, um pequeno “quid pro quo”. A versão em causa é uma release candidate por isso acredito que possam faltar acertos neste tipo de pormenores.

Ficam as instruções para quem quiser instalar o Mantis num MySql 4.1 e quiser escrever com assentos e outros diacríticos (usando UTF-8 como encoding):

  1. Ao criar a base de dados fazê-lo com o encoding UTF-8; será criada assim sem nenhuma opção adicional se tiver sido escolhido esse encoding como valor por omissão durante a instalação do MySql.
  2. Seguir as instruções normais de instalação do Mantis.
  3. Adicionar ao mantis/config_inc.php a seguinte informação que fará override ao código análogo que existe no mantis/config_defaults_inc.php:
    	$g_default_language = 'english_utf8';
    
    	$g_language_choices_arr	= array(
    		'auto',
    		'chinese_simplified',
    		'chinese_traditional',
    		'chinese_traditional_utf8',
    		'croatian',
    		'czech',
    		'danish',
    		'dutch',
    
    		'english',
    		'english_utf8',
    		'estonian',
    			( . . . )
    		'turkish',
    		'ukrainian'
    	);
    
  4. Criar um novo ficheiro de língua /mantis/lang/strings_english_utf8.txt que seja uma cópia do /mantis/lang/strings_english.txt. De seguida é necessário abri-lo num qualquer editor de texto decente que permita alterar o encoding de ANSII para UTF-8 (o Visual Studio, o Editplus ou o Emacs servem) e alterar uma linha logo no início de

    $s_charset = 'windows-1252';

    para

    $s_charset = 'UTF-8';

  5. Por fim, basta correr o seguinte Sql:

    UPDATE mantis_user_pref_table SET language='english_utf8';

    Isto fará com que todos os utilizadores passem a usar o english_utf8 como língua, se se pretender a interface gráfica em português em vez de inglês bastará que os passos em cima sejam feitos para o /mantis/lang/portugues.txt em vez de para o /mantis/lang/english.txt

“e já tá”