Desativando o ícone do Opera 10.6 na área de notificação do Ubuntu

Enviado em 07/07/2010 13:41:46 por Alessandro Santos

Enquanto encaro o Mozilla Firefox como um dos melhores navegadores devido a quantidade enorme de plugins e ferramentas e o Google Chrome sendo meu eleito para navegar pelas redes sociais, o Opera ganha meu respeito por ser um navegador pioneiro nas ideias e, na minha opinião, o mais seguro de todos, tanto que prefiro fazer minhas movimentações financeiras por ele.

A nova versão (10.60) lançada está linda, realmente muito caprichadinha e acho que os desenvolvedores acertaram ao esconder a maioria das ferramentas, aumentando o viewport, o que é uma tendência se formos analisar pelos navegadores Chrome e Firefox (o qual ainda não vi a versão nova).

Entretanto, uma coisa que incomodava bastante era o fato dele deixar um ícone na Área de Notificação do Ubuntu. Nas versões anteriores, bastava colocar a opção -notrayicon na linha de comando que inicializa o navegador que o ícone desaparecia. Esta opção desapareceu na versão 10.60.

Para ocultar o ícone que o Opera deixa na área de notificação, basta acessar o endereço opera:config e lá localizar a opção Show Tray Icon e desativá-la. Simples, não?

Via omgubuntu.co.uk

Como entrar em várias contas do Google ao mesmo tempo pelo Google Chrome

Enviado em 08/06/2010 16:17:35 por Alessandro Santos

Pule o papo-furado abaixo e veja como fazer pelo Linux ou pelo Windows.

Como desenvolvedor, tenho instalado vários navegadores no meu sistema operacional, pois como mexo muito com JavaScript, tenho que fazer vários testes para manter a compatibilidade cross-browser/plataform. No geral, testo minhas páginas no Opera, depois no Firefox e por último no Google Chrome e Internet Explorer, sendo assim, sempre uso o Google Chrome como meu navegador social enquanto deixo o Opera somente para desenvolvimento e para acessar páginas onde quero ter mais segurança, como meu banco.

Recentemente, denunciei à safernet.org.br um aplicativo do Orkut onde testemunhei uma pessoa maior de idade assediando sexualmente uma menor, e como recompensa, meu perfil no Orkut foi excluído e com ele todo o conteúdo que eu tinha em mais de 4 anos de conta. Não vou discutir aqui a competência dos funcionários da Google, mas por causa disso, criei outra conta no Google e precisei acessar o Orkut pelo Firefox, onde se demonstrou um martírio por causa das minhas extensões instaladas (Firebug principalmente). Não dava pra acessar meu Gmail e meu Orkut ao mesmo tempo no Chrome porque são contas diferentes.

A solução foi configurar dois lançadores do Chrome na área de trabalho, cada um para uma instância diferente e, adivinhem? dá certo!

Vou demonstrar aqui com as minhas duas contas como fazer essa configuração, então, sem mais delongas, vamos lá! Leia mais…

PHP, MySQL e UTF-8 (o guia)

Enviado em 18/08/2009 09:12:08 por Alessandro Santos

Trabalhar com UTF-8 no PHP pode dar algumas dores de cabeça pra quem é novo, e até mesmo para alguns mais velhinhos… O PHP trabalha por padrão com ISO-8859-1, que são os caracteres latinos que estamos acostumados. Entretanto, o UTF-8 tem uma abrangência maior de caracteres e o ideal seria que nos acostumássemos a usar este charset nas páginas.
Este pequeno tutorial tem como objetivo deixar bem claro quais os passos a se tomar para construir uma aplicação totalmente baseada no charset UTF-8, desde as páginas HTML, passando pelo PHP e por fim no MySQL.
Antes de tudo, aconselho que aprenda a criar os seus arquivos utilizando o UTF-8 sem BOM, que evitará dores de cabeça futuras quando estiver trabalhando com cookies, sessões e headers.
O segundo passo é definir, no PHP que o charset dos arquivos que serão gerados terão a codificação UTF-8, com o seguinte código:
<?php
ini_set('default_charset','UTF-8');
?>

Só setar o charset no PHP não adianta muito, pois alguns navegadores usam a codificação padrão da região do usuário, a não ser que o seguinte código esteja entre as tags <head> e </head>:
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
Com isso, você já pode trabalhar tranquilamente com UTF-8 e PHP sem ter problemas com os caracteres.
Alguns cuidados são necessários quando for trabalhar com o MySQL, entretanto. Vou ensinar como se faz pelo PHPMyAdmin, que acredito que todos que começaram a trabalhar com MySQL estão acostumados.
Em primeiro lugar, ao criar o seu banco de dados, já crie usando o collation utf8_general_ci. Se o banco de dados já tiver um collation definido, não é necessário definir o collation das tabelas, pois elas herdarão o do banco. Mas mesmo assim é bom especificar o charset e collation de cada tabela. Como? Assim:
CREATE TABLE Clientes (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(60) NOT NULL,
PRIMARY KEY(id)
)
TYPE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

Ok. Nossa tabela está trabalhando com UTF-8 agora. Podemos começar a programar e relaxar porque nossos problemas com charset estão resolvidos, certo?
A resposta é não.
Se você continuar a programar com o sistema assim, os dados do banco serão inseridos e consultados de maneira correta, mas você vai perceber problemas quando tentar fazer buscas com palavras acentuadas insensível a maiúsculas, por exemplo: Água, água e agua serão palavras totalmente diferentes, sem contar que a ordenação de resultados com palavras que começam com letras acentuadas sairá bem bagunçada, coma letra Ó vindo antes de B, por exemplo.
Esse é o problema que eu tive e que demorei eras pra descobrir. O banco estava OK, o PHP também, o mesmo com as páginas HTML… e quando eu inseria algum dado pelo PHPMyAdmin, este era inserido corretamente, o que significava que o problema não era no banco e sim na aplicação.
Depois de meses na verdade foram apenas algumas horas de pesquisa, desconfiei que havia algo na conexão com o MySQL que estava dando esse problema. Fui fuçar no Manual do PHP e encontrei a seguinte solução:
<?php
ini_set('default_charset','UTF-8'); // Para o charset das páginas e
mysql_set_charset('utf8'); // para a conexão com o MySQL
?>

Com isso todos os meus problemas foram resolvidos. Na verdade não, pois tive que alterar todos os campos acentuados da tabela…
Dá para usar a função mysql_client_encoding para identificar o charset da conexão com o MySQL, mas não acho necessário pra quem quer trabalhar diretamente com UTF-8 e não com vários charsets.
Acho que por enquanto é só. Até o próximo semestre! Brincadeira…

Problemas com a codificação UTF-8 em PHP

Enviado em 28/10/2008 10:30:51 por Alessandro Santos

Quando comecei a programar em PHP, não sabia muita coisa sobre codificações de caracteres e tudo mais. Aliás, não sei muita coisa até agora. Como todo bom usuário de Windows, tinha tudo pronto ali na minha frente e tudo rodava direitinho, até enviar os arquivos para um servidor Linux…

O grande problema começou quando comecei a usar por padrão a codificação Unicode, e a trabalhar direto com UTF-8. Logo na na primeira vez que chamei session_start(), apareceu a seguinte mensagem de erro:

Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /var/www/teste.php:1) in /var/www/teste.php on line 2

O curioso de tudo é que o session_start() só retorna erro se alguma coisa tiver sido enviada para o cliente antes de chamar essa função, mas vamos dar uma olhada no código:
<?php
session_start();
?>

Observe bem, não existe nada antes do código. Mas será que não mesmo? Sabemos que o PHP trabalha nativamente com a codificação ISO-8859-1 e que até o momento não tem um suporte muito bom para Unicode (UTF-8). Então através do Quanta, vamos “emular” o arquivo como se ele estivesse sendo visto pelo PHP, transformando a codificação dos caracteres para ISO-8859-1 através do comando Tools - Encoding - Western European:
<?php
session_start();
?>

Bingo! Já descobrimos o que está sendo enviado para o navegador. Aqueles caracteres estranhos  são os responsáveis pelo problema. Mas… o que são eles?

Através de algumas pesquisas no Google, descobri que esses caracteres são uma espécie de assinatura do Unicode, chamada BOM, que é onde quero chegar e a solução de todos os nossos problemas envolvendo UTF-8 e PHP.

De acordo com esta página, a BOM consiste numa sequencia de caracteres no início dos dados recebidos pelo navegador/agente, a qual define a ordem dos bytes e a forma de codificação. (minha tradução mal-feita).

Segundo a mesma página, não é necessário utilizar a BOM quando se estiver codificando em UTF-8, afinal ele é mais indicado para UTF-16 e UTF-32. O UTF-8 pode ou não usar BOM. No nosso caso, para resolver esse problema com o PHP, devemos programar em arquivos UTF-8 sem BOM. Como fazer isso?

Bom, o Quanta, pelo que eu sei, já faz esse tipo de conversão automaticamente. Desde que migrei para o Ubuntu, só tenho utilizado ele e não tenho tido problemas com codificação de caracteres. Se você utiliza o Windows, recomendo um ótimo editor que eu utilizava quando desenvolvia no Windows: o Notepad++. Existem outros, é claro, e cada desenvolvedor escolhe o que é melhor para si. Não tenho certeza, mas parece que o Dreamweaver tem a opção de salvar sem BOM, mas quero me ater a indicar software livre por aqui.

Para finalizar, quero indicar uma leitura interessante sobre codificação UTF-8, que encontrei quando procurava a solução desse problema. Um artigo que se chama O Mínimo Absoluto Que Todo Desenvolvedor de Software Absolutamente, Positivamente Precisa Saber Sobre Unicode e Conjuntos de Caracteres (Sem Desculpas!). Boa leitura!