<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>CHARSET PHP MSSQL</title>
        <description>Não consegui resolver o seguinte problema:

Implemento um sistema que deverá ler bancos de dados distintos 

e fornecer saída de ambos.

banco 1:
  ms sql server 2000 com Collation name = 

SQL_Latin1_General_CP850_CI_AI

banco 2:
  mysql com charset = latin1  e collation = latin1_swedish_ci


1. Em uma página  php necessito exibir nomes lidos do banco 1 

e também do banco 2 (ms sql server), utilizando echo

2. ao obter a página gerada os nomes acentuados do html saem 

corretos, porém as palavras lidas do banco sql server não saem 

corretamente, em lugar dos caracteres acentuados são exibidos 

outros bem diferentes.

3. utilizo no início da página php o seguinte código:

   &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; 

charset=latin1&amp;quot;/&amp;gt;   

Aonde se encontra o problema e qual a solução?


obs: no início da página php coloquei as seguintes linhas

 setlocale(LC_ALL, &amp;quot;pt_BR&amp;quot;);
 header('Content-type: text/html; charset=cp850');

funcionou para as palavras do banco de dados sql server, porém 

bagunçou as acentuações html, ou seja, inverteu o problema.

e aí pessoal ... ???!

ajudem-me por favor ...</description>
        <link>http://phpbrasil.com/phorum/read.php?5,183423,183423#msg-183423</link>
        <lastBuildDate>Fri, 24 May 2013 09:29:48 -0500</lastBuildDate>
        <generator>Phorum 5.2.10</generator>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183485#msg-183485</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183485#msg-183485</link>
            <description><![CDATA[Pela sua resposta você não sabe do que estou falando.<br />
<br />
Não uso Dreamweaver desde a versão MX. <br />
Abra seus scripts .php em um BOM editor de texto como o Notepad++ ou o Textpad. <br />
No Notepad++ (em português) tem o item de menu [Formatar]<br />
Acesse-o, vá até [Conjunto de Caracteres], [Europa Ocidental], [ISO-8859-1].<br />
<br />
Quando alterar, verifique se algum caracter especial fica errado.<br />
<br />
Para imprimir texto do Banco de Dados em uma página HTML o ideal é usar<br />
<br />
echo htmlentities($texto); <br />
<br />
Pois desta forma você não precisa se preocupar em qual charset a informação do banco está.<br />
<br />
Para um controle ainda maior pode usar isto<br />
<br />
echo htmlentities(mb_convert_encoding($texto_do_bd, &quot;ISO-8859-1&quot;,mb_detect_encoding($texto_do_bd)));]]></description>
            <dc:creator>Marcos Regis</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Wed, 15 Feb 2012 08:41:00 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183471#msg-183471</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183471#msg-183471</link>
            <description><![CDATA[Prezado Marcus,<br />
<br />
Uso dreamweaver para criar meus arquivos php. Eventualmente uso bloco de notas para alguma alteração.<br />
<br />
Minhas páginas tem conteúdo para exibição mista dos seguintes:<br />
<br />
 1.textos html<br />
 2.textos de saídas echo do php<br />
   2.1 saídas de textos comuns<br />
   2.2 saídas de strings lidos de um banco mysql<br />
   2.3 saídas de strings lidos de um banco ms sqlserver<br />
<br />
Em 2.3 é que está o problema ! Ao ler do banco ms sqlserver e exibir o nome via echo do php a saída sai com acentuação incorreta.<br />
<br />
Como já especifiquei na minha primeira mensagem desse tópico,<br />
<br />
banco 1:<br />
ms sql server 2000 com Collation name =<br />
<br />
SQL_Latin1_General_CP850_CI_AI<br />
<br />
banco 2:<br />
mysql com charset = latin1 e collation = latin1_swedish_ci <br />
<br />
Obg pelo apoio.]]></description>
            <dc:creator>LUIZ C M DE BRITO</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Wed, 15 Feb 2012 06:25:23 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183441#msg-183441</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183441#msg-183441</link>
            <description><![CDATA[Seu problema parece ser o fato de seus arquivos .php estão todos em utf-8<br />
<br />
Se estiver usando eclipse selecione o seu projeto e dê um ALT+ENTER para exibir as propriedades e altere o default charset para ISO-8859-1.<br />
<br />
Nota: Em HTML não se deve usar acentos e sim suas respectivas entidades.]]></description>
            <dc:creator>Marcos Regis</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Tue, 14 Feb 2012 09:36:41 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183430#msg-183430</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183430#msg-183430</link>
            <description><![CDATA[Lucas, <br />
<br />
Isso q vc sugeriu, não funciona. Piora: aí então tanto as palavras do html e do php quanto as do banco ms sqlserver ficam com acentuação errada !<br />
<br />
Minha questão parece não ter solução simples ...]]></description>
            <dc:creator>LUIZ C M DE BRITO</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Tue, 14 Feb 2012 06:37:04 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183426#msg-183426</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183426#msg-183426</link>
            <description><![CDATA[remova isso:<br />
setlocale(LC_ALL, &quot;pt_BR&quot;); <br />
header('Content-type: text/html; charset=cp850'); <br />
<br />
e coloque isso no html:<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=utf-8&quot;/&gt;<br />
<br />
Falou.]]></description>
            <dc:creator>Lucas Tiago de Moraes</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Mon, 13 Feb 2012 16:12:21 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183425#msg-183425</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183425#msg-183425</link>
            <description><![CDATA[Caro Lucas, <br />
<br />
Necessito dos 2 bancos de dados. Devo acessar o ms-sqlserver e gerar saída tanto em página quanto no banco mysql. Usando charset='&lt;conjunto de caracteres&gt;' funcionam as saídas de texto do html, do php e a gravação no mysql.<br />
 <br />
O problema é apenas com um texto qualquer lido do ms-sqlserver. Esse texto vem com acentuação errada. Ao usar no início da página php o seguinte código:<br />
<br />
setlocale(LC_ALL, &quot;pt_BR&quot;);<br />
header('Content-type: text/html; charset=cp850');<br />
<br />
como já disse, funcionou a acentuação lida do ms-sqlserver, porém bagunçou a do html e as saídas do php.<br />
<br />
Acho que a questão é: como converter o texto lido do ms-sqlserver para o conjunto de caracteres padrão do php com acentuação correta ?<br />
<br />
Ou responder algo como: Como decodificar uma string lida do ms-sqlserver?  <br />
<br />
Já tentei  utf8_encode e utf8_decode e não funcionaram.<br />
<br />
Obrigado pela atenção.]]></description>
            <dc:creator>LUIZ C M DE BRITO</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Mon, 13 Feb 2012 14:20:27 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183424#msg-183424</guid>
            <title>Re: CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183424#msg-183424</link>
            <description><![CDATA[olha qual banco de dados está com menos informações, e trata converte o mesmo.<br />
<br />
tente isso:<br />
header('Content-type: text/html; charset=utf-8');<br />
<br />
Falou.]]></description>
            <dc:creator>Lucas Tiago de Moraes</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Mon, 13 Feb 2012 13:53:16 -0600</pubDate>
        </item>
        <item>
            <guid>http://phpbrasil.com/phorum/read.php?5,183423,183423#msg-183423</guid>
            <title>CHARSET PHP MSSQL</title>
            <link>http://phpbrasil.com/phorum/read.php?5,183423,183423#msg-183423</link>
            <description><![CDATA[Não consegui resolver o seguinte problema:<br />
<br />
Implemento um sistema que deverá ler bancos de dados distintos <br />
<br />
e fornecer saída de ambos.<br />
<br />
banco 1:<br />
  ms sql server 2000 com Collation name = <br />
<br />
SQL_Latin1_General_CP850_CI_AI<br />
<br />
banco 2:<br />
  mysql com charset = latin1  e collation = latin1_swedish_ci<br />
<br />
<br />
1. Em uma página  php necessito exibir nomes lidos do banco 1 <br />
<br />
e também do banco 2 (ms sql server), utilizando echo<br />
<br />
2. ao obter a página gerada os nomes acentuados do html saem <br />
<br />
corretos, porém as palavras lidas do banco sql server não saem <br />
<br />
corretamente, em lugar dos caracteres acentuados são exibidos <br />
<br />
outros bem diferentes.<br />
<br />
3. utilizo no início da página php o seguinte código:<br />
<br />
   &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; <br />
<br />
charset=latin1&quot;/&gt;   <br />
<br />
Aonde se encontra o problema e qual a solução?<br />
<br />
<br />
obs: no início da página php coloquei as seguintes linhas<br />
<br />
 setlocale(LC_ALL, &quot;pt_BR&quot;);<br />
 header('Content-type: text/html; charset=cp850');<br />
<br />
funcionou para as palavras do banco de dados sql server, porém <br />
<br />
bagunçou as acentuações html, ou seja, inverteu o problema.<br />
<br />
e aí pessoal ... ???!<br />
<br />
ajudem-me por favor ...]]></description>
            <dc:creator>LUIZ C M DE BRITO</dc:creator>
            <category>PHP e Bancos de Dados</category>
            <pubDate>Mon, 13 Feb 2012 12:17:18 -0600</pubDate>
        </item>
    </channel>
</rss>
