2012-05-04 2 views
5

내가이 내가 DB를 가지고있는 통상 MySQL의MYSQL - 터키 문자

에서 datas를 검색

이 일반적이다 내가 DB에있는

Seçimler, Şirketler ve Siyasi Partiler 

Se�imler, ?irketler ve Siyasi Partiler 
인쇄

SQL yog를 사용하고 내 데이터베이스에서 일부 기본 설정을 변경하십시오.

내가 UTF8 및 데이터 정렬에 문자 집합을 설정

이 utf8_turkish_ci입니다

하지만 여전히

Se�imler, ?irketler ve Siyasi Partiler 

왜 같은 datas를 검색? 뭐가 문제 야 ?

+0

가능한 [MySQL 테이블에서 HTML 외래 문자를 utf-8 문자로 변환] (http://stackoverflow.com/questions/7003242/converting-html-foreign-characters-from-mysql-tables-to-utf) -8 자) – snnlankrdsm

답변

10

이 문제는 어딘가에서 문자 인코딩을 지정하지 못한 것처럼 들립니다. 이 문제를 해결하려면 문자 인코딩을 utf-8 everywere (실제로 utf-8 일 필요는 없습니다. 같은 곳에서과 같은 문자 인코딩을 설정했는지 확인하십시오.하지만 뭔가 혼란 스러우면 필요하다면 어쨌든 일부 장소를 변경하려면 utf-8을 사용하는 것이 좋습니다.) :

  • utf-8을 사용하도록 MySQL에 알립니다. 이것을하기 위해서, 당신의 저에게 이것을 추가하십시오.CNF는 :

    collation_server = utf8_unicode_ci 
    character_set_server = utf8 
    
  • MySQL과 상호 작용하기 전에,이 두 querys을 보내 : 또는

    SET NAMES 'utf8'; 
    CHARSET 'utf8'; 
    

    또는, PHP를하자이 afteropening 연결 :

    mysql_set_charset('utf8', $conn); 
    
  • 세트 UTF-8 데이터베이스

    CREATE DATABASE `my_db` DEFAULT CHARACTER SET 'utf8'; 
    
  • 의 디폴트 캐릭터 세트와 같은 테이블에 대해 동일한 작업을 수행합니다

    CREATE TABLE `my_table` (
        -- ... 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
    
  • 클라이언트를 가정 브라우저이고 콘텐츠를 utf-8로 게재하고 올바른 헤더 :

    <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
    
  • 하고, 마지막으로는 말할 :

    header('Content-type: text/html; charset=utf-8'); 
    

    이 메타 태그를 추가, 브라우저가 이해 정말 확인하기 브라우저가 utf-8을 사용하여 양식 제출

    ,210
+0

모든 기능이 UTF8로 설정되었으므로 MYSQL에 정말 놀랐습니다. 이제 문제가 해결되었습니다. 이름은 utf8로 설정됩니다. – snnlankrdsm

1

당신은 너무 당신의 선택 쿼리에 Charset to UTF8을 언급 할 필요가있다. = utf8_unicode_ci

character_set_server = UTF8

마지막에 (파일의 my.ini하기

collation_server : 나를 위해 차이를 만들어 무엇

SET NAMES 'utf8'; 
CHARSET 'utf8'; 
1

다음 줄을 추가했다 문서의) 나는 그 밖의 모든 것을 시도했다. 그러나 내가이 변화를 만들 때까지 그들은 모두 실패했다. 정말로 큰 도움이되었습니다. 고마워요.