에 나는 MySQL의 테이블에서 바로 오는 문자열유니 코드 preg_replace이다 문제는 PHP
$result = "bei einer Temperatur, die etwa 20 bis 60°C unterhalb des Schmelzpunktes der kristallinen Modifikation"
있어요. 테이블은, 그리고 PHP 헤더는 모두 UTF-8
나는이 '도'기호 제거 할로 설정됩니다 http://en.wikipedia.org/wiki/Degree_symbol를 단어로 교체 '도'를 얻을 수 :
"BEI einer 그리고 온도를, 20시 20 분에서 60도까지 수정이 가능합니다. "
하지만 preg_replace와 함께 사용할 수 없습니다.
내가 할 경우
$result = preg_replace('/\xB0/u'," degrees ", $result); - I get an empty string
을 그리고 난 ::
$result = preg_replace('/\u00B0/u'," degrees ", $result); - I get the error:
경고 할 경우 : 컴파일이 실패 : PCRE는 \의 L를 지원하지 않습니다 preg_replace이다()를 [function.preg-교체] , \ l, \ N, \ U 또는 \ u/offset/1에서 /var/www/html/includes/classes/redeyeTable.inc.php 75 줄에
인코딩이 좋지 않습니다. 여기서 내가 뭘 잘못하고 있니?
내가 게시 한 첫 번째 해결책은 나를 위해 완벽하게 작동합니다. – Sjoerd
이 페이지 (및 오류 메시지 BTW)에 따르면 \ uhttp : //fr.php.net/manual/en/reference.pcre.pattern.differences.php를 사용할 수 없습니다 – greg0ire
상징? 유니 코드에는 많은 유사한 문자가 있습니다. – Kobi