Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcio Miwa

Charset php

Recommended Posts

ola, gostaria de pedir um help... estou tendo dificuldades para extrair registros escritos em japonês no banco de dados, quando exibe no navegador fica em forma de "?????????"(ponto de interrogação). já alterei collation no db, já mudei o charset para o japonês, mas nada muda o resultado, se alguém poder me dar uma luz agradeço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

現在のデータベースの状態より、まずに元データベースのデータ内容のエンコードを確認しなければならない。

Primeiramente, certifique-se qual o encode da base de dados original, independente do que já modificou.

 

わかるかな。。?

sabe fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim vagnerMelo mudei na pagina tmbm

 

 

現在のデータベースの状態より、まずに元データベースのデータ内容のエンコードを確認しなければならない。

Primeiramente, certifique-se qual o encode da base de dados original, independente do que já modificou.

 

わかるかな。。?

sabe fazer isso?

 

 

desculpe, mas acho que nao, poderia me auxiliar ? obrigado

OBS: o estranho que qndo deixa direto no html aparece corretamente, mas pelo DB fica ponto de interrogação...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fa;a um select normal no banco e mande escrever na tela qulquer um desses textos japoneses, provindo do banco, assim

 

 

echo 'encoding: ' . mb_detect_encoding( $str, "auto" ); exit;

Essa função tentará detectar e mostrar na tela o tipo do encoding da string.

Compartilhar este post


Link para o post
Compartilhar em outros sites

fa;a um select normal no banco e mande escrever na tela qulquer um desses textos japoneses, provindo do banco, assim

 

 

echo 'encoding: ' . mb_detect_encoding( $str, "auto" ); exit;

Essa função tentará detectar e mostrar na tela o tipo do encoding da string.

obrigado

ficaria assim?

echo 'encoding: ' . mb_detect_encoding( $resultado['descricao'], "auto" ); exit;

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

obrigado

ficaria assim?

echo 'encoding: ' . mb_detect_encoding( $resultado['descricao'], "auto" ); exit;

consegui, o resultado ficou assim= encoding: ASCII...

isso quer dizer que meu banco de dados nao esta em UTF-8 neh?

agora eh possível alterar ? como? obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

$resultado['descricao'] deveria mostrar o texto em japonês, certo?

 

se retornou como ansii pode estar corrompido..

 

1. Os dados em japonês, como foram inseridos no banco ?

2. Mostre a DDL da tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

$resultado['descricao'] deveria mostrar o texto em japonês, certo?

 

se retornou como ansii pode estar corrompido..

 

1. Os dados em japonês, como foram inseridos no banco ?

2. Mostre a DDL da tabela

CREATE TABLE IF NOT EXISTS `home` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`img` varchar(255) CHARACTER SET utf8 NOT NULL,

`img_link` varchar(255) CHARACTER SET utf8 NOT NULL,

`titulo` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`descricao` text CHARACTER SET utf8 NOT NULL,

`img_atalho1` varchar(255) CHARACTER SET utf8 NOT NULL,

`img_atalho2` varchar(255) CHARACTER SET utf8 NOT NULL,

`img_atalho3` varchar(255) CHARACTER SET utf8 NOT NULL,

`atalho_link1` varchar(255) CHARACTER SET utf8 NOT NULL,

`atalho_link2` varchar(255) CHARACTER SET utf8 NOT NULL,

`atalho_link3` varchar(255) CHARACTER SET utf8 NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

a tabela suporta, pois apesar de estar como latin-iso, as colunas estão como utf-8

no entanto, há um porém, as colunas estavam em utf8 originalmente ou modificou enquanto procurava solução para o caso?

 

precisa analisar como os dados são inseridos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

a tabela suporta, pois apesar de estar como latin-iso, as colunas estão como utf-8

no entanto, há um porém, as colunas estavam em utf8 originalmente ou modificou enquanto procurava solução para o caso?

 

precisa analisar como os dados são inseridos..

sim alterei para utf-8 por ocorrer o erro...

desculpa como devo analisar os dados inseridos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que postei no #3..

 

vc tem algum backup dos dados originais antes de fazer essas alterações?

 

desculpe não dar uma resposta mais objetiva.. é porque realmente não tem como ter certeza e afirmar "faça X" ou "faça Y" pois depende de diagnósticos.

 

Caso não tenha os dados originais, tente ler os dados usando um front-end como o "NaviCat" ou o "MySQL Workbench" apenas para ver se usando outro meio consegue enxergar os caracteres.

 

Sobre a inserção, é o momento em que os dados são inseridos no banco.

Como foi inserido?

Tem algum painel de controle ou foi inserido por importação ou algo do tipo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que postei no #3..

 

vc tem algum backup dos dados originais antes de fazer essas alterações?

 

desculpe não dar uma resposta mais objetiva.. é porque realmente não tem como ter certeza e afirmar "faça X" ou "faça Y" pois depende de diagnósticos.

 

Caso não tenha os dados originais, tente ler os dados usando um front-end como o "NaviCat" ou o "MySQL Workbench" apenas para ver se usando outro meio consegue enxergar os caracteres.

 

Sobre a inserção, é o momento em que os dados são inseridos no banco.

Como foi inserido?

Tem algum painel de controle ou foi inserido por importação ou algo do tipo?

imagina agradeço a atenção...

vou tentar com o mysql workbench, fazer o teste...

foi inserido pelo phpmyadmin...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de vários testes, Hinom

nao sei se por falta de conhecimento ou qual outro motivo, ainda o erro persiste, nao sei mais o que fazer onde pesquisar !

Se puder continuar a me ajudar agradeço imensamente ....

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

No post #3 e subsequentes, tem a dica..

 

Verifique qual o encode do original.

 

No #13 vc comentou sobre ter inserido pelo PHPMyAdmin

 

Como inseriu pelo PHPMyAdmin?

 

Fez importação de um arquivo .sql ou digitou/copiou/colou?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

No post #3 e subsequentes, tem a dica.. Verifique qual o encode do original. No #13 vc comentou sobre ter inserido pelo PHPMyAdmin Como inseriu pelo PHPMyAdmin? Fez importação de um arquivo .sql ou digitou/copiou/colou?

em relação a inserção foi digitado, em alguns casos foi copiado e colado...

tem diferença de dados digitados com copiados e colados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. qual o charset definido das tabelas, dos campos e do banco no momento em que inseriu?

 

2. exporte a tabela para um aarquivo .sql.

abra o arquivo usando um editor de textos como o notepad e veja se consegue ler e qual o encode que o editor detecta.

 

 

off o post #13 está pendente...

conseguiu ler os dados usando o workbench?

Compartilhar este post


Link para o post
Compartilhar em outros sites

PARA PHP:

 

<?php ini_set('default_charset','iso-8859-1'); ?>

 

OU

 

<?php ini_set('default_charset','UTF-8'); ?>

 

 

PARA HTML

 

<!DOCTYPE html>
<html lang="pt-br">
<!-- Inicio do Cabeçalho da página -->
<head>
<title>Exemplo 1</title>
<meta charset="iso-8859-1">


<!-- Inicio dos estilos -->
<style>


</style>
<!-- Fim dos estilos -->


</head>
<!-- Fim do cabeçalho da página -->
<!-- Inicio do Corpo -->
<body>


</body>
<!-- Fim do Corpo -->
</html>

 

OU

 

<!DOCTYPE html>
<html lang="pt-br">
<!-- Inicio do Cabeçalho da página -->
<head>
<title>Exemplo 1</title>
<meta charset="UTF-8">


<!-- Inicio dos estilos -->
<style>


</style>
<!-- Fim dos estilos -->


</head>
<!-- Fim do cabeçalho da página -->
<!-- Inicio do Corpo -->
<body>


</body>
<!-- Fim do Corpo -->
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1. qual o charset definido das tabelas, dos campos e do banco no momento em que inseriu?

 

2. exporte a tabela para um aarquivo .sql.

abra o arquivo usando um editor de textos como o notepad e veja se consegue ler e qual o encode que o editor detecta.

 

 

off o post #13 está pendente...

conseguiu ler os dados usando o workbench?

-- phpMyAdmin SQL Dump

-- version 3.4.2

-- http://www.phpmyadmin.net

--

-- Tempo de Geração: 28/02/2014 às 14h50min

-- Versão do Servidor: 5.6.14

-- Versão do PHP: 5.4.24

 

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

 

 

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

 

--

-- Banco de Dados: `sddb0040166718`

--

 

-- --------------------------------------------------------

 

--

-- Estrutura da tabela `home`

--

 

CREATE TABLE IF NOT EXISTS `home` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`texto` varchar(255) COLLATE utf8_unicode_ci NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;

 

--

-- Extraindo dados da tabela `home`

--

 

INSERT INTO `home` (`id`, `texto`) VALUES

(1, '設定したフエル ');

 

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

///////////////////////////////////////////////////////////////

sim os arquivos foram lidos pelo workbench, mas nao mudou nada o erro continua.

 

 

PARA PHP:

 

<?php ini_set('default_charset','iso-8859-1'); ?>

 

OU

 

<?php ini_set('default_charset','UTF-8'); ?>

 

 

PARA HTML

 

<!DOCTYPE html>
<html lang="pt-br">
<!-- Inicio do Cabeçalho da página -->
<head>
<title>Exemplo 1</title>
<meta charset="iso-8859-1">


<!-- Inicio dos estilos -->
<style>


</style>
<!-- Fim dos estilos -->


</head>
<!-- Fim do cabeçalho da página -->
<!-- Inicio do Corpo -->
<body>


</body>
<!-- Fim do Corpo -->
</html>

 

OU

 

<!DOCTYPE html>
<html lang="pt-br">
<!-- Inicio do Cabeçalho da página -->
<head>
<title>Exemplo 1</title>
<meta charset="UTF-8">


<!-- Inicio dos estilos -->
<style>


</style>
<!-- Fim dos estilos -->


</head>
<!-- Fim do cabeçalho da página -->
<!-- Inicio do Corpo -->
<body>


</body>
<!-- Fim do Corpo -->
</html>

 

<?php

ini_set('default_charset','UTF-8');

////////arquivo de conexao do banco de dados /////////

include("conect.php");

////////faz a conexao /////////////

$conn = mysql_connect ($host, $login_db, $senha_db);

mysql_select_db($database,$conn) or die(mysql_error());

////////faz a consulta //////////

$sql = "SELECT * FROM home" ;

$query = mysql_query($sql);

$resultado = mysql_fetch_assoc($query);

?>

<!DOCTYPE html>

<html lang="ja-JP">

<head>

<meta charset="utf-8" >

<title>Testando codigos</title>

</head>

<body>

resultado pro vindo do banco de dados : <?php echo $resultado['text'] ;?><br><br>

<?php echo 'encoding: ' . mb_detect_encoding( $resultado['text'], "auto" ); exit; ?>

</body>

</html>

/////////////////////////////////////////////////

mesmo assim nao funciona...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.