- From: Rafael Zanella \(HomeHost\) <rafael@homehost.com.br>
- Date: Wed, 30 May 2007 18:07:53 -0300
- To: <ishida@w3.org>
- Cc: <w3c-translators@w3.org>
- Message-ID: <002901c7a2fe$9743e2f0$0700a8c0@webdesign>
Hi, No idea why, it won't go as an attachment, so I'm sending it on the message body. Cheers. /* START */ <?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="pt-br" xml:lang="pt-br" xmlns="http://www.w3.org/1999/xhtml"> <head> <?php // authors should fill in these assignments: $directory = ''; // the directory path below /International up to but not including the file name: must end in a slash! $filename = 'O-HTTP-charset'; // the file name WITHOUT extensions $topicIndex = 'resource-index?topic=charset'; // path after /International/ to the appropriate place in the topic index $techIndex = 'techniques/charset'; // path after /International/ to the appropriate place in the techniques index $authors = 'Martin Dürst, W3C'; // author(s) and affiliations $modifiers = 'Richard Ishida, W3C'; // people making substantive changes, and their affiliation $searchString = 'article-o-http-charset'; // blog search string - usually the filename without extensions $firstPubDate = '199-09-22'; // date of the first publication of the document (after review) $lastSubstUpdate = '2006-07-14 15:39'; // date of latest substantive changes to this document // authors AND translators should fill in these assignments: $clang = 'pt-br'; // the language extension for articles in this language (use 'en' for English) $isTranslation = 'yes'; // set to 'yes' if this is a translation ! $copyrightYear = '1999-2007'; // this year, but may also be a range, eg. 2002-2006 $thisVersion = '2007-05-29 12:00'; // date of latest edits to this document/translation // translators should fill in these assignments: $translators = 'Rafael Zanella, <a href="http://www.homehost.com.br/">HomeHost - Hospedagem de Sites</a>'; // translator(s) and their affiliation - a elements allowed, but use double quotes for attributes $enVersion = '2006-07-14'; // date of the English original on which the translation is based (see last substantive change date at bottom of file) $additionalLinks = ''; // use the markup below if you need additional related links - you should only rarely need these // otherwise delete the php ?> <?php // admin will complete this $versions[] = array('lang'=>'en','nativeText'=>'English','currLang'=>'English'); $versions[] = array('lang'=>'fr','nativeText'=>'Français','currLang'=>'French'); $versions[] = array('lang'=>'pl','nativeText'=>'Polski','currLang'=>'Polish'); include('php/bp/boilerplate-'.$clang.'.php'); // check that this points to /International/php/bp/boilerplate... - must be relative path ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Configurando o parâmetro HTTP da codificação de caracteres (charset)</title> <meta name="keywords" content="i18n internacionalizacao internacionalização localizacao localização tranducao http parametro charset codificacoes de caracteres configurar Apache AddCharset AddType AddDefaultCharset Jigsaw JigAdmin IIS 5 IIS 6 HTTP Headers Content-Type Perl PHP header() Java Servlets setContentType ServletResponse JSP out.println() ASP ASP.Net Response.ContentEncoding Web.config"/> <meta name="description" content="Dicas sobre como enviar informacao sobre a codificacao de caracteres utilizando o parametro charset do cabecalho HTTP. Inclui informacoes sobre como configurar seu servidor ou como enviar o cabecalho atraves dos scripts utilizados."/> <?php echo $basicLinks;?> <?php echo $langLinks; ?> <style type="text/css" media="all" title="standardsStylesheet"> <?php echo $standardsStylesheet ?> </style> <?php echo $scriptIncludes; ?> </head> <body bgcolor="white"> <span id="version-info" style="display: none;">2007-03-12 11:56</span> <?php echo $topOfPage; ?> <h1>Configurando o parâmetro HTTP da codificação de caracteres (charset)</h1> <div id="navigation"> <p><?php echo $onthispage?><a href="#charset" title="The charset parameter">Parâmetro charset</a> - <a href="#server" title="Server setup">Configuração no servidor</a> - <a href="#scripting" title="Scripting the header">Modificando o cabeçalho</a> - <?php echo $readingLink?></p> </div> <div class="section"><a id="contentstart" name="contentstart" tabindex="1"></a> <div id="audience"> <p><?php echo $intendedAudience?> desenvolvedores de scripts (PHP, JSP, etc.), webmasters, Gerentes de projetos para Web, e qualquer pessoa que queira entender como enviar a informação da codificação de caracteres a ser utilizada. </p> </div> <p>Quando um servidor envia um documento para um agente usuário (ex.: um navegador) ele também envia informações no campo "Content-Type" do cabeçalho HTTP sobre o tipo do formato do dado enviado. Essa informação é expressa utilizando-se um rótulo de tipo MIME. Esse artigo provê uma informação inicial para aqueles que necessitam configurar a informação de codificação de caracteres (N.T.: daqui em diante descrita por charset) a ser enviada no cabeçalho HTTP.</p> <p>Você deve procurar em outro lugar por informações sobre <a href="http://www.w3.org/International/tutorials/tutorial-char-enc/">como declarar a codificação de caracteres em páginas HTML</a>, ou como descobrir <a href="http://www.w3.org/International/questions/qa-headers-charset">a informação de codificação de caracteres que está sendo enviada num cabeçalho HTTP</a>.</p> </div> <div class="section"> <h2><a id="charset" name="charset" tabindex="1">O parâmetro charset</a></h2> <!-- the text in the following sections illustrates some available features of the template --> <p>Documentos transmitidos por meio do HTTP que são do tipo texto, tais como text/html, text/plain, etc., podem enviar um parâmetro <a href="../Protocols/rfc2068/rfc2068.txt"><code>charset</code></a> no cabeçalho HTTP para especificar a codificação de caracteres a ser utilizada no documento. </p> <p>É <strong>muito importante</strong> sempre rotular explicitamente documentos Web. O padrão HTTP 1.1 diz que o <code>charset</code> padrão é o ISO-8859-1. Porém existem muitos documentos não rotulados em outras codificações, por isso os navegadores(browsers) utilizam a codificação preferida do leitor quando não é definido um parâmetro charset.</p> <p>A linha no cabeçalho HTTP tipicamente aparece desta forma:</p> <blockquote> Content-Type: text/html; charset=utf-8</blockquote> <p>Em teoria, qualquer codificação de caracteres que tenha sido <a href="http://www.iana.org/assignments/character-sets">registrada com a IANA</a> pode ser utilizada, porém nenhum navegador entende todas. Quanto mais comum for a utilização de uma codificação de caracteres, mais chances do navegador entendê-la . Uma codificação Unicode tal como a UTF-8 é uma boa escolha por <a href="http://www.w3.org/International/tutorials/tutorial-char-enc/#Slide0110">um número de razões</a>.</p> </div> <div class="section"> <h2><a id="server" name="server" tabindex="1">Configuração no servidor</a></h2> <p>Como fazer o servidor enviar a informação 'charset' apropriada depende do servidor utilizado. Você precisará ter permissão administrativa para poder mudar configurações no servidor.</p> <p><strong class="leadin"><a href="http://www.apache.org/">Apache</a>.</strong> A mudança pode ser feita utilizando-se as diretivas <a href="http://httpd.apache.org/docs/mod/mod_mime.html#addcharset">AddCharset</a> (Apache 1.3.10 ou mais recente) ou <a href="http://httpd.apache.org/docs/mod/mod_mime.html#addtype">AddType</a>, para diretórios ou recursos individuais (arquivos). Com a <a href="http://httpd.apache.org/docs-2.0/mod/core.html#adddefaultcharset">AddDefaultCharset</a> (Apache 1.3.12 ou mais recente), é possível configurar um charset padrão para todo o servidor. Para maiores informações, veja o artigo <a href="http://www.w3.org/International/questions/qa-htaccess-charset">Configurando a informação de 'charset' no .htaccess</a>.</p> <p><strong class="leadin"><a href="http://www.w3.org/Jigsaw/">Jigsaw</a>.</strong> Use um <a href="http://www.w3.org/Jigsaw/Doc/User/JigAdmin/indexers.html">indexer</a> em <a href="http://www.w3.org/Jigsaw/Doc/User/JigAdmin/">JigAdmin</a> para associar extensões com charsets, ou configure o charset diretamente em um "<a href="http://www.w3.org/Jigsaw/Doc/User/JigAdmin/edit.html">resource</a>" .</p> <p><strong class="leadin">IIS 5 e 6.</strong> Na opção Gerenciador de Serviços Internet, clique com o botão direito em "Web Site Padrão" (ou no site o qual deseja configurar) e vá em "Propriedades" => "Cabeçalhos HTTP" => "Tipos de arquivos..." => "Novo tipo...". Coloque as extensões que deseja mapear, separadamente para cada extensão; Usuários IIS irão provavelmente quere mapear .htm, .html,... Então, para Tipo de Conteúdo, adicione "text/html;charset=iso-8859-1" (sem as aspas; substitua o charset desejado por iso-8859-1; não deixe nenhum espaço em nenhum lugar pois o IIS ignora todo texto após espaços). Para IIS 4, você pode ter que usar "Cabeçalhos HTTP" => "Criar um cabeçalho HTTP customizado" se os passos acima não funcionarem.</p> </div> <div class="section"> <h2><a id="scripting" name="scripting" tabindex="1">Modificando o cabeçalho no script</a></h2> <p>O cabeçalho apropriado pode ser configurado no código-fonte do script utilizado. Por exemplo:</p> <p><strong class="leadin">Perl.</strong> Imprima o cabeçalho correto antes de qualquer outra parte da página. Após o último cabeçalho, utilize use uma quebra de linha (\n) dupla, ex.:<br /> <code>print "Content-Type: text/html; charset=utf-8\n\n";</code></p> <p><strong class="leadin">Python.</strong> Use a mesma solução para Perl (exceto pelo fato do ponto-e-vírgula(;) ser desnecessário no fim da linha).</p> <p><strong class="leadin">PHP.</strong> Use a função <a href="http://www.php.net/header">header()</a> antes de enviar qualquer conteúdo da página, ex.:<br /> <code>header('Content-type: text/html; charset=utf-8');</code></p> <p><strong class="leadin">Java Servlets.</strong> Use o método <a href="http://java.sun.com/products/servlet/2.1/api/javax.servlet.ServletResponse.html#setContentType%28javax.servlet.String%29">setContentType</a> em <a href="http://java.sun.com/products/servlet/2.1/api/javax.servlet.ServletResponse.html">ServletResponse</a> antes de obter qualquer objeto (Stream ou Writer) utilizado para impressão de dados, ex.:<br /> <code>resource.setContentType ("text/html;charset=utf-8");</code><br /> Se você utilizar um Writer, o Servlet automaticamente efetua a conversão das Strings para a codificação selecionada.</p> <p><strong class="leadin">JSP.</strong> Use a diretiva <code>page</code> ex.: <br/><code><%@ page contentType="text/html; charset=UTF-8" %></code><br/> O envio de dados proveniente de <code>out.println()</code> ou de elementos de expresão (<code><%= object</code><code>%></code>) é automaticamente convertido para a codificação selecionada. Também, a página é interpretada utilizando essa codificação.</p> <p><strong class="leadin">ASP e ASP.Net.</strong> content type e charset são configurados independentemente, e são métodos do objeto de resposta. Para configurar o charset utilize: <br/><code><%Response.charset="utf-8"%></code><br/> Em ASP.Net, configurando o atributo <a href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemWebHttpResponseClassContentEncodingTopic.asp">Response.ContentEncoding</a> irá configurar tanto o parâmetro charset no cabeçalho HTTP Content-Type quanto a codificação do documento sendo enviado (que obviamente tem que ser a mesma). O Padrão pode ser configurado no elemento <a href="http://msdn.microsoft.com/library/en-us/cpgenref/html/gngrfglobalizationsection.asp"><code>globalization</code></a> em <code>Web.config</code> (ou <code>Machine.config</code>, que é originalmente configurado para UTF-8).</p> </div> <?php echo $survey;?> <div class="section noprint"> <h2><?php echo $readingHead?></h2> <ul id="full-links"> <li> <p><a href="/International/questions/qa-headers-charset">Checando a informação de codificação de caracteres sendo enviada num cabeçalho HTTP</a> <span class="uri">http://www.w3.org/International/questions/qa-headers-charset</span></p> </li> <li> <p> <a href="/International/O-charset.html">Codificação de caracteres</a>, maiores informações sobre codificações de caracteres em documentos Web. <span class="uri">http://www.w3.org/International/O-charset.html</span></p> </li> <li> <p> <a href="http://www.w3.org/International/questions/qa-htaccess-charset">Configurando a informação de 'charset' no .htaccess</a> <span class="uri">http://www.w3.org/International/questions/qa-htaccess-charset</span></p> </li> </ul> </div> <?php echo $bottomOfPage; ?> </body> </html> /* END */
Received on Wednesday, 30 May 2007 21:08:04 UTC