2012-08-25 2 views
0

나는 PHP/MySQL 응용 프로그램을 가지고 있는데, 여기서 UTF-8 문자로 작업해야합니다 (UTF-8 문자는 화면에 표시되지 않습니다). UTF-8 문자는 PHP cURL 요청의 문자입니다.

PHP와 MySQL을 UTF-8 문자로 제대로 작동 시키려면 어떻게해야합니까?PHP/MySQL의 문자 세트

  1. 내가 php.ini 파일에서 default_charset = utf-8을 설정해야합니까? 아니면 은 데이터가 화면에 표시 될 때만 사용됩니까?

  2. 내 데이터베이스, 테이블 및 열에 대한 문자 집합/데이터 정렬을 utf8/utf8_general_ci로 설정해야합니까?

  3. 나는 MySQL에 대해서도 connection character sets과 같은 것을 읽었다. 이게 정말로 중요한가?

  4. 내가 할 일이 더 있습니까?

도움 주셔서 감사합니다.

+0

아직 방법을 시도해 보셨습니까? – Charlie

+0

아직 외래 문자로 테스트 할 수는 없지만 준비 중입니다. – Hope4You

+1

내부 처리의 경우 [mb_internal_encoding] (http://php.net/manual/en/function.mb-internal-encoding.php)이 유용 할 수 있습니다. 또한 결과를 가져온 직후에 데이터베이스에서'SET NAMES 'utf8';'쿼리를 수행하는 것이 좋습니다. – ACJ

답변

0

당신은

utf8_encode(CHARACTERS); 
1

이 UTF-8 모두를위한 사용을 고려 UTF8 캐릭터 세트에 ISO 문자로 기능을 내장에-다음 PHP를 사용하여, PHP는 파일의 HTML 인코딩 및 데이터베이스, 그것은 당신을 절약 할 수 많은 문제. 인코딩간에 변환 할 필요가 없으며 모든 인코딩의 가능한 모든 문자를 사용할 수 있으며 HTML 엔티티 없이도 할 수 있습니다.

사이트를 만드는 방법에 대한 팁을 수집했습니다. UTF-8 only. 이미 다른 인코딩으로 데이터베이스를 가지고 있다면 문제가 없으므로 UTF-8을 제공하도록 연결 개체에 지시하십시오.

$db = new mysqli($dbHost, $dbUser, $dbPassword, $dbName); 
$db->set_charset('utf8'); 
+0

도움이됩니다. 내 데이터베이스를 utf8로 선언하는 것으로 충분합니까? 아니면 테이블과 열을 utf8로 설정해야합니까? – Hope4You

+0

@ Hope4You - 연결 개체에 charset을 설정하면 충분합니다. 데이터베이스 자체에서 아무 것도 변경할 필요가 없습니다. 다른 테이블이 다른 인코딩을 가져야하는 경우에도 연결 객체는 PHP 스크립트에 UTF-8을 제공합니다. – martinstoeckli

관련 문제