sqlite 및 해당 텍스트 인코딩에 약간의 문제가 있습니다. 나는 문서에서 sqlite가 UTF-8 인코딩을 처리하거나 PRAGMA 인코딩 = "UTF-8"명령을 실행하여 사용할 수 있다고 읽었습니다. 데이터베이스에 폴란드어 텍스트를 저장해야합니다. 데이터베이스는 나중에 Qt와 함께 사용하게 될 것입니다. CREATE TABLE ... 및 INSERT INTO ...라는 두 개의 명령을 사용하는 스크립트가 있습니다.이 파일은 UTF-8로 인코딩되어 있습니다. 그러나 명령 줄 : sqlite3 myname.db < the_file.sql을 사용하면 데이터베이스와 테이블을 모두 만들 수 있지만 ą, ć, ¼, Ż 등 모든 폴란드 식 특정 문자는 더 간단한 ANSI로 자동 변환됩니다 문자 : a, c, z, Z 등. 명령 줄에 문제가 있다고 생각했습니다. 그래서 SQLite Manager 2009를 다운로드하고 SQLite Manager에서 전체 스크립트를 복사/붙여 넣을 때 효과가 동일하다는 것을 알았습니다. 문자는 복사/붙여 넣기 중에 자동으로 변환됩니다. SQLite는 ANSI 문자와 함께 만 사용하도록 제한됩니까?SQLite는 모든 유니 코드 문자를 ANSI로 변환합니다
답변
설정에 문제가 있으면 확실히 SQLite가 아닙니다.
몇 가지 간단한 테스트 :
리눅스 : 의사가 처방으로
$ cat > test.sql <<EOF
DROP TABLE IF EXISTS t;
CREATE TABLE t (str varchar(20));
INSERT INTO t (str) VALUES ("ą, ć, ź, Ż");
SELECT * FROM t;
EOF
$ file test.sql
test.sql: UTF-8 Unicode text
$ sqlite3 test.db < test.sql
ą, ć, ź, Ż
그래서, 그것은 작동합니다.
윈도우 :
를 사용하여 위와 같은 test.sql
. 당신이 새롭게을 작성해야하는 경우, 복사 및 붙여 넣기 텍스트 다음 메모장 ++로
DROP TABLE IF EXISTS t;
CREATE TABLE t (str varchar(20));
INSERT INTO t (str) VALUES ("ą, ć, ź, Ż");
SELECT * FROM t;
및 인코딩에 파일로 저장 - BOM없이 UTF-8>인코딩.
sqlite3 test.db < test.sql
─Е, ─З, ┼║, ┼╗
소리가 나쁩니다. 그러나, 이것은 버그가있는 Windows 콘솔입니다! 대신 파일에 출력을 저장 :
sqlite3 test.db <test.sql> out.txt
++ 메모장에서 열기 out.txt
은 - 멋지다 : ą, ć, ź, Ż
편집 : 당신이 사용하는 경우 그것은뿐만 아니라 윈도우 콘솔에서 작동 chcp 65001
:
chcp 65001
sqlite3 test.db < test.sql
ą, ć, ź, Ż
QED.
감사합니다. 답변을 찾았습니다. OMG 2012 및 Windows 7 64 비트에서 피 묻은 어리석은 콘솔은 여전히 OEM 850 코드 페이지에서 작동합니다. 얼마나 우스운, 얼마나 우스운 !!!! 대답 해줘서 고마워. 방금 전에 읽은 내용을 확인했습니다. – Celdor
Visual Studio의 프로그램에서 콘솔 창으로 출력하면 똑같은 일이 발생합니다. 콘솔은 유니 코드 문자를 지원하지 않는 것 같습니다 ... ansi가 아닌 모든 문자는 '?'로 나옵니다. –
chcp 65001이 Windows 10에서 작동하지 않는 것 같습니다. – matreshkin
- 1. 모든 유니 코드 문자를 특정 문자로 변환
- 2. 유니 코드는 FTP 전송 후 ANSI로 바뀝니다.
- 3. 유니 코드 문자를 표시하는 UILabel
- 4. 유니 코드 문자를 NSString으로 변환
- 5. 폴더의 모든 파일 형식을 유니 코드에서 ANSI로 변경하는 방법
- 6. BIRT가 Linux에서 유니 코드 문자를 표시하지 않습니다.
- 7. 모든 유니 코드 문자가 Android에서 지원됩니까?
- 8. Java 문자열에서 유니 코드 문자를 어떻게 검색합니까?
- 9. 유니 코드 문자를 분석하기위한 간단한 도구가 필요합니다.
- 10. IE에서 유니 코드 문자를 대체하는 XRegExp
- 11. NSString 유니 코드 문자를 죽일 것 같습니다
- 12. PHP - 아스키를 유니 코드로 변환합니다.
- 13. iTextSharp에서 유니 코드 문자를 만드는 방법은 무엇입니까?
- 14. 어떻게 자바 스크립트에서 유니 코드 문자를 제거합니까?
- 15. eclipse에서 유니 코드 문자를 어떻게 입력합니까?
- 16. PHP에서 유니 코드 문자를 검색하는 방법?
- 17. 유니 코드 문자를 해당 텍스트로 변환 하시겠습니까?
- 18. 유니 코드 문자를 표시하려면 글꼴이 필요합니까?
- 19. httplib을 사용하여 유니 코드 문자를 게시하려면 어떻게합니까?
- 20. 텍스트 상자에 유니 코드 문자를 올바르게 렌더링하십시오.
- 21. 유니 코드 문자를 확장 ASCII로 변환
- 22. 유니 코드 문자를 읽으려는 csv 판독기 수정
- 23. 다음 문자를 수정하는 유니 코드 문자는 무엇입니까?
- 24. Antlr 문법에 유니 코드 문자를 삽입하려면 어떻게해야합니까?
- 25. iOS에서 유니 코드 문자를 찾고 표시하는 방법
- 26. xml의 유니 코드 문자를 ascii로 변환
- 27. 우분투에서 사용되지 않는 유니 코드 문자를 할당합니다.
- 28. 파이썬이있는 터미널에서 유니 코드 문자를 인쇄하십시오.
- 29. 매칭 대소 문자를 구분 유니 코드 문자열
- 30. fslex의 패턴에서 유니 코드 문자를 지정하는 방법
누군가이 질문을 반복 할 수있는 주소를 연결할 수 있으면 감사하게 생각합니다. 나는 실제로 일이 실제로 일어나는 이유를 이해하지 못합니다. – Celdor