2016-06-30 4 views
0

여행에 대한 여행 설명이있는 간단한 데이터베이스가 있습니다. 데이터베이스에서 여행 설명에 아포스트로피가 포함되고 입력/반환됩니다. 유형 : 텍스트입니다.데이터베이스에서 반환 및 어포 스트로피를 어떻게 울릴 수 있습니까?

아포스트로피, 하이픈 및 기타 특수 문자가 turning로 바뀌고 들어가거나 돌아 오는 것만 제외하면 모든 여행 설명을 검색하여 웹 사이트에 표시하고 싶습니다. 거기있어. 예를 들어

, 데이터베이스에 다음 텍스트 :

우리는 유명한 Marovo 라군 주위에 노를 저어 뉴 조지아 섬에 도착합니다

- 세계 최대의 소금 물 석호 - 이레 동안.

우리는 돌아갑니다 ...

가 가장 큰 소금 유명한 Marovo 라군 주변의 세계를 노를 저어

우리는 뉴 조지아 섬에 도착합니다

로 웹 페이지에 표시됩니다 7 일 동안 물 라군. 우리는 새로운 단락 아니다 "... 우리는 돌아갑니다"

그 ...로 복귀하고, 아포스트로피와 두 개의 하이픈 여기

입니다 것입니다 나의 PHP 코드 :

$tripResult = mysql_query("SELECT * FROM trips"); 
while($row = mysql_fetch_array($tripResult)){ 
    echo $row['tripDescription']; 
} 

나는

echo htmlspecialchars($row['tripDescription'], ENT_QUOTES); 

와 에코 라인을 교체 시도했다 그러나 이것은 전혀 텍스트가 표시되지 않습니다.

편집 : 나는 또한 (I 드롭 다운 목록에서 찾을 수 utf8mb4에 가장 가까운 하나) utf8mb4_general_ci하는 데이터베이스 데이터 정렬을 변경하고, 함께 에코를 교체, 내가 캐릭터 세트 메타 태그가 있는지 확인 시도 :

echo mysql_set_charset($row["tripDescription"]); 

그러나 여전히 텍스트가 전혀 표시되지 않습니다. 이 텍스트를 어떻게 보이게 할 수 있습니까?

+1

[통해 UTF-8 모든 방법]의 사용 가능한 복제 (http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – FirstOne

+0

[nl2br] (http://php.net/manual/en/function.nl2br.php) – FirstOne

+0

nl2br 함수를 사용하면 좋은 페이지에 '입력'이 표시되지만 복제본은 무엇을 의미합니까? UTF-8의 모든 것을 통과합니까? phpmyadmin에서 'collation'아래에 테이블이 latin1_swedish_ci 인 것을 볼 수 있습니다. 나는 utf-8로 시작하는 것들 중 일부로 변경하려고 시도했으나 아무런 차이가 없었습니다. – Cactus

답변

0

addslashes — Quote string with slashes을 사용하여 데이터를 삽입하고 stripslashes을 사용하십시오.

$tripResult = mysql_query("SELECT * FROM trips"); 
while($row = mysql_fetch_array($tripResult)){ 
    echo stripslashes($row['tripDescription']); 
} 

사용 stripslashes — Un-quotes a quoted string

+0

데이터베이스의 텍스트가 addslashes를 사용하여 삽입되지 않았다면 "멋지게"출력하는 방법이 있습니까? 나는. 그냥 평문에? – Cactus

+0

위의 내용을 읽으십시오. 데이터베이스의 텍스트가 일반 영어 일 경우 어떻게해야합니까? – Cactus

관련 문제