2015-02-06 6 views
0

좋아, 나는 문자 인코딩을 전혀 얻지 못했고 그것에 대한 연구를하고 있지만, 누군가 여기서 내게 무슨 일이 일어나는지 설명 할 수 있기를 바랬다.문자 인코딩 - 이해가 안됨

내 제품 표에 설명이 있습니다. phpMyadmin에서 다음과 같이 보입니다 : enter image description here

나는 (오늘은) 인코딩을 utf8_general_ci으로 설정했습니다. 좋은. 당신은 그 이 볼

enter image description here

:

지금 내 제품 중 하나에 pLongDescription에, 나는이 있나요? 그것은 단어 나 어떤 것이 사용하는 사기스러운 아포스트로피입니다. 그것은 내 인생에 계속 울먹입니다. 키보드 이외의 다른 단어에도 입력 할 수 없습니다. 나는 대신 '을 사용하는 것을 선호합니다.

어쨌든, 나는 utf8_general_ci 세트로 생각했을 것입니다, 그것은 문제가되지 않을 것입니다. I 출력이 정상적으로 PHP를 통해 데이터베이스에서, 나는이 나타나면 : 그러나

enter image description here

을 내가 utf8_encode($pDescription)를 사용하는 경우,이 얻을 : 나도 그들 중

enter image description here

는 완벽하다. 손에 끔찍한 실수가 있습니다. 다른 말로하면, 나쁜 문법과 철자법은 설명에 아포스트로피가 빠져 있기 때문입니다.

여기에 무슨 일이 일어나고 있으며 어떻게 해결할 수 있습니까? = "UTF- 메타 캐릭터 : 당신이 HTML을 사용하는 경우 나에게 MySQL을 연결 한 후이를 넣어

도움이 :)이

하고, 돈`t 잊지

+1

를 설정 함 :

고려해야 할 많은 일들이 있습니다, 하나 개의 제안이 문서입니까? 어떤 운전자를 사용합니까? –

+0

현재, 아니, 나는하지 않는다. 나는 어떤 이유로 든 'uft8'을 언급했다. 나는 그것을 시도했으나 작동하지 않았다. – Chud37

+0

@Rikudou_Sennin하지만 확실히 utf8_encode()가 처리할까요? – Chud37

답변

0
mysql_query('SET CHARACTER SET "utf8"'); 
mysql_query('SET NAMES "utf8"'); 
ini_set('default_charset', 'UTF-8'); 

사용하는 문자 집합을 설정합니다 이 8 "

0

시도 :

$pDescription = mb_convert_encoding ($pDescription, "UTF-8", "UTF-8"); 

의 php.ini이 확장 extension=php_mbstring.dll을 aactivate 및 도움 : 당신은 개념을 혼합하는

0

당신의 웹 서버

희망을 다시 시작하는 것을 잊지 마십시오. 당신이보고있는 것은 데이터 정렬 방법을 나타내는 "데이터 정렬"입니다. 인코딩은 테이블을 만들 때 DEFAULT CHARSET = utf8 (또는 선호하는 charset)을 사용하여 테이블 수준에서 설정됩니다. (my.ini/my.cnf에서도 전역 기본값으로 설정할 수 있습니다.)

그런 다음 SET NAMES utf8 (또는 mysql_set_charset('utf8', $link);)을 각각 호출하여 utf8 연결임을 각 연결에 지시해야합니다 당신이 만드는 연결.

지금부터는 데이터를 읽고 PHP로 출력하면 브라우저에 utf8 bytestream을 보냅니다. 관련 내용 유형 헤더 또는 이와 유사한 설정을 통해 utf8을 디코딩하도록 브라우저에 지시했다고 가정하면이 방법이 유용합니다.

확장 된 문자를 사용하는 PHP 파일에 하드 코딩 된 텍스트가있는 경우 PHP 파일도 utf8로 저장해야하므로 DB의 출력과 일치해야합니다 (그렇지 않으면 페이지에 혼합 된 인코딩이 렌더링됩니다). 당신이 캐릭터 세트가 데이터베이스로의 PHP 관련

http://www.toptal.com/php/a-utf-8-primer-for-php-and-mysql