0

PHP/MySQL의 특수 문자에 몇 가지 문제가 있습니다. 그러면 php를 사용하여 데이터베이스에 저장된 데이터를 얻었습니다.PHP/MySQL의 문자셋 문제

header('Content-type:text/html; charset=utf-8'); 
    $link=mysqli_connect("host","user","","db") or die(mysqli_error($link)); 
    mysqli_query($link,"SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8';SET NAMES utf8"); 

나는 또한 아파치가 올바른 문자 집합 사용 보장 :

: 나는 또한 모든 HTML 페이지에 meta 태그를 추가하려고 또한

AddDefaultCharset utf-8 

을이 코드를 추가하는 데이터를 저장하기 전에 보장

<meta http-equiv="content-type" content="text/html" charset="UTF-8"> 

phphtml 파일을 모두 UTF-8 형식으로 저장했습니다. 페이지에 ò과 같은 문자를 쓰고 해당 페이지를 표시하면 올바르게 표시된다는 것을 알았습니다. 내가 ò를 포함하는 데이터베이스에서 문자열 쿼리를 얻을 경우, 제대로 표시되지 않습니다,하지만 난에 코드를 변경하는 경우 :

header('Content-type:text/html; charset=iso-8859-1'); 

DB를에서 검색 쿼리를 올바르게 정상적인 쓰기를하지 표시됩니다. 그래서 문제는 mysql charset에 있습니까? 이전 지시 사항을 따라 설정하면 어떻게 될 수 있습니까?

답변

1

는 여기

사용할 수있는 몇 가지 코드를 UTF8로이 날짜를 저장 어디에 열을 변경하려고합니다.

변경 문자 집합/정렬 (database) :

ALTER DATABASE의 DB_NAME의 기본 문자 세트 UTF8;

변경 문자 집합/정렬 (table) :

ALTER TABLE tbl_name에의 기본 문자 세트 UTF8;

변경 문자 집합/정렬 (columns) : 문자 집합 UTF8로

ALTER TABLE tbl_name에의 CONVERT;

+0

나는 그 지시를 시도하고 지금 작동한다. 감사합니다 echo_Me – sleax

+0

당신은 환영합니다 :). –

1

지금 사용중인 mysqli_query() 대신 http://fi2.php.net/mysqli_set_charset 함수를 사용해보십시오.

+0

나는 또한 mysqli_set_charset 함수로 시도했지만 아무것도하지 않았다. – sleax