MySQL에서 혼란을 일으키는 사랑스러운 작은 따옴표는 사촌이있는 것 같습니다. Google은 사용자가 이메일을 통해 콘텐츠를 붙여 넣거나 거의 모든 곳에서 복사하여 붙여 넣을 수있는 시스템을 갖추고 있으며, 한 번 인용 할 때마다 또 다른 팝업이 나타납니다. 여기에 다른 사람은 다음과 같습니다 : - 제거, 나는 그답지을이 마음에 들지Regex 다른 종류의 작은 따옴표 바꾸기
return Regex.Replace(oldText, @"[’´'`""]", @"");
< ’ ´ ' `
내 정규식이 매우 약한 것처럼, 내 동료 개발자가 난 그냥 사용하여 제거해야한다고 말했다 모든 작은 따옴표. 많은 포럼에서 제안한 것처럼 내가하고 싶은 것은 단일 인용 부호를 두 배로 올리는 것입니다. 이게 맞을까요?
return Regex.Replace(oldText, @"[’´'`""]", @"''");
이 생각 때문에 자신의 DAL에서, 수행, 그는 작은 따옴표와 함께 자신의 삽입 문을 생성합니다 :
sql.Append(",`to_complete_by`='" + obj.toCompleteBy + "'");
내가 이것에 ^^
을 변경하여이 오류를 방지 할 수 있을까?
sql.Append(",`to_complete_by`=\"" + obj.toCompleteBy + "\"");
또는 정규식 대체 방법은 무엇입니까?
당신이 묘사하는 모든 방법은 피할 수 있고 피할 수 있습니다. 소유하고 싶지 않은 경우 준비된 문을 사용하십시오. –
SqlParameters를 사용하면 어떨까요? 아무것도 바꾸지 않아도됩니다. – shriek
나는 prepared statement에 대해 생각하고 있었지만, 어떤 이유로 든 mySql 4.01을 사용해야한다. 다행히도 지원하지는 않는다. 왜냐하면 나는 이것이 모든 것에 고약을 가하고, 아마도 다른 것이 가장 많이 나타날 것이라고 동의한다. SqlParameters에 너무 많은 정보를 담고 있지는 않습니다. 고마워요;) –