2010-08-04 5 views
0

이상한 점이 있습니다 - CMS간에 데이터를 이식하는 중입니다. 둘 다 LAMP에서 작동합니다.MYSQL에서 이스케이프 된 따옴표 묶음을 제거하십시오.

이전 CMS에서는 데이터가 DB에 슬래시와 함께 저장되었습니다.

예 :

Hi. Thanks for looking. It\'s \"awesome\". 
으로 기존 CMS에 의해 출력 할 때 제대로 표시

:

Hi. Thanks for looking. It's "awesome". 

그러나 새로운 CMS에서, 그들은이 같은 텍스트는 다음과 같이 간단하게 저장되며 그들이 처리 따옴표가 나온다 :

Hi. Thanks for looking. It's "awesome". 

나는 mysql에 직접 replace()를 시도했지만, 따옴표를 이스케이프 처리하면 모든 따옴표가 제거됩니다. 그런 다음 슬래시가 데이터를 벗어나기를 바라지 않고 PHP를 사용하여 모든 데이터를 가져 와서 다시 시도해 보았습니다. 데이터를 이스케이프 처리하면 좋지만 행운은 아닙니다. 두 가지 중 하나에서 작동하는 것으로 보입니다. 하지만 쿼리가 깨집니다.

아이디어가 있으십니까? 각

str_replace("'", "''")

- 내가 추가/위해서 stripslashes 주변에 연주 한 이후, 등등

감사

+0

그것은 위해서 stripslashes의 만드는 방법입니다. – Artefacto

답변

1

$data = stripslashes($data); 
$data = mysql_real_escape_string($data); 
0

당신이 당신의 데이터를 가져올 PHP를 사용하는 경우 수행 할 것입니다 동안이었다 기입.

는 당신이 PHP에서 MYSQL escapes strings

+0

링크 된 텍스트에 다른 의미가 있음 –

+0

여기에 문자열 내에 따옴표 문자를 포함하는 여러 가지 방법이 있습니다. * " '"로 인용 된 문자열의 "'"은 "" '로 작성 될 수 있습니다. * "" "로 인용 된 문자열 안의" ""은 "" "로 쓸 수 있습니다. 내가 잘못 해석하나요? Java를 사용하여 몇 개의 데이터 세트를로드하고로드 파일을 재구성하는 동안 replaceAll (" ',"' ' ")) 작업을 수행하고 내 탈출구를 해결합니다. –

+0

mysql 이스케이프 문자는 백 슬래시입니다. –

관련 문제