2012-05-22 4 views
0

문자열이 I'm happy 인 경우 작은 따옴표 (')를 사용하는 문자열에서 사용하려는 경우 문자열에서 따옴표를 이스케이프 처리해야합니다.'나는 행복하다'라는 문구를 사용하여 이스케이프 처리합니다.

대개 "백 슬래시 이스케이프 (backslash escape)"라고하는 것을 수행하여이 작업을 수행합니다. 인용 부호 앞에 백 슬래시 : 'I\'m happy'을 붙입니다. 다른 사람들도이 작업을하는 것처럼 보입니다. Google에 "백 슬래시 이스케이프"를 입력하면 많은 기술이 설명되는 페이지가 나타납니다. 기술적 인 용어, 완벽한.

그러나 예를 들어 SQL에서는 'I''m happy'을 작성합니다. 그것에 대한 용어가 있습니까? 어떻게 부르죠? Google 검색 결과로 판단 "반복 인용 부호 - 이스케이프"는 매우 인기가 없습니다. 단지 관련없는 자료를 제공합니다.

편집 :

내 현재의 Java 코드는 언급 원리를 사용하여 문자열을 탈출하는 방법이있다 : 내가 질문하고 내가 왜 더 설명 할 필요가 믿고 코멘트에서 읽기. 메소드에 설명적인 이름을 지정해야합니다. 물론 "sqlEscape"라고 부를 수도 있지만 실제로 SQL을 발명 한 것은 아닙니다 ... 메서드를 일반 "이스케이프"라고 부르는 것은 메서드가 문자열을 이스케이프하는 방법에 대한 어떤 힌트도 제공하지 않습니다 ...

+0

SQL-escape은 어떻습니까? – Attila

+0

'이스케이프 (escaping) '는 일반적인 용어입니다. 의미와 구현은 상황에 따라 다릅니다. 백 슬래시를 사용하여이를 달성하기 위해 종종 사용되는 사실은 '백 슬래시를 이스케이프 처리'하지 않습니다 * 올바른 *. HTML 또는 (참고로) SQL이 아닙니다. –

+0

일반적인 용어는 "이스케이프 시퀀스"라고 생각합니다. –

답변

1

달성해야하는 탈출은 SQL로 데이터를 사용하기위한 것입니다. "무엇"에 대한 좋은 단어가 없다면 제 의견 (다소 이단)은 당신의 방법 이름이 "왜"를 전달할 수 있다는 것입니다. 그래서 escapeForSQL()이라는 메서드가 나에게 받아 들여질 것이다.

물론 우리가 수행하는 작업은 모두 작은 따옴표를 두 배로 만드는 것입니다. 우리는 다른 탈출을하지 않고있다. 그래서 doubleUpTicks() 나 doubleUpSingleQuotes()도 나에게 도움이 될 것이다.

관련 문제