- 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