iOS SwiftUI TextField의 smart quotes 문제

mystic·2023년 11월 5일
0

학교 데이터베이스 수업에서 네트워크를 통해서 SQL명령을 실행하는 프로젝트를 진행하면서 발생한 오류에 대해서 글을 적게 되었습니다.
프로젝트의 구조는 아래처럼 SQL명령어 구문을 iOS에서 입력받고 이걸 mysql서버와 연동된 백엔드에 URL형식으로 전달하여서 전달한 SQL명령어를 mysql서버에서 실행하고 결과값을 리턴받는 구조입니다.

INSERT INTO Book(title, author) VALUES('title1', 'author1')

위 명령어를 SwiftUI의 TextField에 입력하여서 실행하였는데 오류가 발생하였습니다.

처음에는 mysql서버가 제대로 작동하지 않나 확인해보고 백엔드서버 연결이 제대로 동작하지 않나 확인해보았는데 다 정상적으로 작동하고 있었습니다.
print로 입력받은 명령어를 출력하여서 몇번의 확인을 해본결과 원인은 smart quotes라는 기능이었습니다.
iOS에서 기본적으로 제공하는 기능이고 이 기능이 '(foot mark)를 따옴표로 자동으로 변환된다는 사실을 오늘 처음 알게되었습니다.
SQL명령어 에서는 foot mark로 입력을 해야 문법에 맞는데 따옴표로 자동변환됐기 때문에 발생하였던 오류로 아래의 코드를 사용하여 문제를 해결하였습니다. (키보드 설정에 들어가서 끄면되는 방법도 있다고 합니다)
command = command.replacingOccurrences(of: "’", with: "'")
command = command.replacingOccurrences(of: "‘", with: "'")

profile
iOS를 좋아하는 학생

0개의 댓글