2014-03-05 4 views
0

지난 몇 시간 동안 열심히 노력했지만 해결책을 찾지 못했습니다. 왜 그런 일이 일어나고 있는지 ... 데이터 정렬 = utf8_general_ci 인 테이블이 있고 열/필드 데이터 정렬도 utf8_general_ci로 설정되어 있습니다. phpmyadmin에서 태국어 데이터를 올바르게 볼 수 있습니다. 하지만이 테이블 데이터를 가져오고 PHP 코드를 사용하여 표시하면 ???????가 표시됩니다.태국 문자는 phpmyadmin에 제대로 표시되지만 프런트 엔드에는 표시되지 않습니다.

click 페이지를 볼 수 있습니다.

이 페이지에서 나는 데이터베이스에서 가져와 표시 할 때 제대로 표시되지만 동일한 단어/텍스트를 직접 표시하는 하나의 타이 단어를 작성했습니다. ???

나는 현재

<meta http-equiv="Content-Type" content="text/html; charset=tis-620"> 

를 사용하고 그리고 난이

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

으로 시도 할 때 내가 직접 발견하고 데이터베이스에서 모두 텍스트/워드 디스플레이 ?????

답변

0

MySQL 연결 자체가 utf8을 사용하지 않았을 수 있습니다. MySQL의 설명서에서 :

SET NAMES indicates what character set the client will use to send SQL statements 
to the server. Thus, SET NAMES 'cp1251' tells the server, “future incoming 
messages from this client are in character set cp1251.” It also specifies the 
character set that the server should use for sending results back to the client. 
(For example, it indicates what character set to use for column values if you use 
a SELECT statement.) 

당신이 단계는 조금 다른 데이터베이스 (로 mysql_connect/mysqli_connect 또는 PDO)에 연결하는 방법에 따라. mysql_connect(); 또는 mysqli_connect;을 사용하는 경우 mysql_query("SET NAMES utf8");을 실행해야합니다. thoery에서는 PHP PDO를 사용하는 경우 동일한 단계를 사용할 수 있지만 PDO 객체를 생성하는 동안 init 명령을 설정할 수 있습니다. 다음은 내 데이터베이스 상호 작용 클래스의 예제입니다.

$dsn = 'mysql:host='.$database_detail['dbhost'].';dbname='.$database_detail['dbname']; 
$this->dbh = new PDO($dsn, $database_detail['dbuser'], 
    $database_detail['dbpass'], array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
    PDO::ATTR_EMULATE_PREPARES => FALSE, 
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' 
)); 
0

가끔 스페인어에서이 문제가 발생합니다. 콘텐츠 유형을 html로 설정 했는데도 여전히 잘못된 인코딩 유형이 표시됩니다.

나에게 맞는 것은 "PHP 문서를 올바른 형식으로 저장하면 문제가 해결됩니다.

문서가 아파치에서 분리되거나 읽는 문서 유형을 보냈지 만 PHP 코드가 동적으로 데이터베이스에서 내용을 가져 오는 것을 볼 수 있습니다.

그래서 나는 다음을 수행합니다 :

는 HTML의 타이어 단어 쓰기가 제대로 표시에 도착. 다른 인코딩 옵션으로 문서를 저장하여이 작업을 시도해보십시오. 이것은 일반적으로 저장 대화 상자의 옵션이며 일단 표시하면 데이터베이스에서 가져 오기를 시도하십시오.

물론, 원하는 인코딩으로 아파치가 문서를 제공하도록 할 수도 있지만, 여기에서는 사용자가 해당 설정에 액세스 할 수 있다고 가정합니다.

도움이 되었기를 바랍니다.

관련 문제