안드로이드 개발 질문/답변
(글 수 358)
현재 만들고 있는 앱에서 db를 사용하게 되었습니다.
그러다가 지금 테이블 생성에서 막혀버렸네요.
테이블 생성시 문자열을 사용자로부터 받아와 약간의 변환과정을 거친 후 그것을 테이블 이름으로 사용하려고 합니다.
예를들어 사용자가 "테이블1" 이렇게 입력했다면 테이블 이름을 "xpdlqmf1" 이런식으로 변환하는겁니다.
그리고 사용자가 다시 값을 가져올때는 "xpdlqmf1"을 원래 문자열로 디코딩할수도 있도록 하고요.
여기서 사용자가 "test ('테'스트!)" 이런 문자열을 입력해도 성공적으로 변환할 수 있는 방법이 있을까요?
처음에는 base64로 인코딩하려고 했는데 +, /, = 특수문자때문에 실패..
uft-8로 인코딩하면 %, +가 문제였고
utf-8에서는 16진수로 표기하니까 1234567890abcdef 이후 알파벳인 g, h로 %, +를 치환해서 사용해봤지만
URLEncode.encode로 인코딩하면 알파벳들은 %09 이런식으로 표현되는게 아니라 그 알파벳이 직접 나오더군요?
그래서 실패...
좋은 방법이 없을까요?
아니면 혹시 안드로이드 sqlite에서 테이블 이름에 사용할 수 있도록 특수문자를 예외처리할 수 있나요?
도와주세요 ㅠㅠ
특수문자를 사용하면 안되는 곳이라면
입력받질 않는게 보통이라고 생각됩니다...
보통 SQL에서도 자체적으로 사용하는 특수문자가 있기때문에 엄한 문자들이 포함될경우 sql문 자체가 파싱이 안될수있습니다.
오류가 날수 있는 일은 줄이는것이 낫지 않을까 하는 생각입니다.
테이블이름에 특문사용하는건 도움을 못드릴것 같네요... 다음분이 알려주실거에요.