2012-01-08 2 views
0

과 같은 비표준 문자를 '과 같은 표준 문자로 변경해야합니다. PHP로 어떻게 할 수 있습니까? 지금은 아포스트로피를 변경해야하지만 큰 따옴표 등을 변경하는 방법을 알고 있으면 좋을 것입니다. 만 ASCII 출력을 원하는 경우비표준 문자를 표준 버전으로 변환

+3

"비표준"문자는 없습니다. 왜 그걸하고 싶니? – SLaks

+0

먼저 필요한 문자 인코딩 (UTF-8, ISO-8859-1 등)을 결정한 다음 클라이언트에 제공해야하는 문자를 결정해야합니다. –

+0

@ Jared 한 번만 * 인코딩 * 문제가 아닙니다. :) – deceze

답변

3

당신은 str_replace()를 사용할 수 있습니다.

+0

+1 마지막 문장. – deceze

+0

이것은 내 요구에 가장 잘 맞는 답변이었습니다. – LordZardeck

8

, 당신은 iconv()을 사용하고 음역 수 있습니다

iconv("UTF-8", "ASCII//TRANSLIT", "Hello’ World"); // gives "Hello' World" 

대체 올바른 소스 인코딩이 UTF-8이 아닌 경우.

$replace = array('’' => '\''); //You can add more characters here 

echo str_replace(array_keys($replace), array_values($replace), 'can’t'); 

그러나 ' 두 개의 서로 다른 문자는와 같은로 취급 할 이유를 궁금해 것 :

+0

이것이 OP가 원한다고 가정하면 이것이 최선의 해결책입니다. +1 – deceze

+0

원본 인코딩을 어떻게 결정합니까? – LordZardeck

+0

@LordZardeck : 당신은 그것을 알아야합니다. 소스 문자열이 오는 정보와 연결됩니다. 의심이가는 경우 상사 또는 프로젝트 문서를 참조하십시오 ... –