2011-01-05 8 views
0

파운드 기호를 입력하면 - £ - 내 코드에 알 수없는 기호로 표시됩니다 ... 코드에 나와 있지 않아 데이터베이스에 들어 가지 않습니다.utf8 및 PHP 오류

메신저 CodeIgniter의를 사용하여, 윈도우 메모장 ++ 및 및 DB를 나가서 내 페이지 -

파운드 기호의 상단에

<?php header("Content-type: text/html; charset=utf-8");?> 

을 추가 한 괜찮을 것 같습니다 그러나 때 기호 하드 코딩 된, 오류 기호가 나타납니다.

무엇이 잘못 되었나요?

+0

내가 의심하는 것은 ... 당신은 파일에 파운드 스털링 _ascii_ 코드를 붙여 넣었습니다. http://www.theasciicode.com.ar/extended-ascii-code/pound-sign-symbol-pound-sterling- ascii-code-156.html ... 이것은 바이트 156이며 * utf8이 아닙니다. utf8 파운드 스터링은 2 바이트로 구성되어 있습니다 : http://hexutf8.com/?q=c2a3 ... 그리고 당신이 볼 수 있듯이 16 진수로 바이트 156 (9C)을 보냈을 경우, 그것은 잘못된 http : // hexutf8입니다. .com /? q = 9c – jar

답변

1

문서 인코딩을 utf-8로 설정하는 (pound simbol을 하드 코딩하는 곳) PHP 파일을 설정하십시오. 그래도 작동하지 않으면 항상 브라우저 &pound; 또는 &#163; 마녀를 사용하여 파운드 기호로 렌더링 할 수 있습니다. 당신의 <head>에서

+1

또한 DB가 utf8 인코딩을 처리하도록 설정되어 있는지 확인하십시오! – Piero

+0

나는 £을 사용하여 종료했습니다. –

0

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

은 또한 MySQL의 문

SET NAMES 'utf8' 
1

귀하의 소스 파일은 아마도 UTF-8로 인코딩되지 않은 시도로 설정해야합니다. 가장 쉬운 방법은 해당 파일의 인코딩을 변경하는 것입니다. 메모장 + +는 내가 기억하는 한 당신을 위해 변환 할 수 있습니다.