서블릿의 비 커닝 시스템에서 쿼리 매개 변수를 수집 할 때 타사 사이트에서 들어오는 모든 입력을 로그 파일에 저장할 수있는 유효한 UTF-8 문자열로 올바르게 변환하고 있는지 확인하는 가장 좋은 방법은 무엇입니까?Java에서 UTF-8 문자열을 얻는 가장 좋은 방법은 무엇입니까?
답변
Java 문자열은 내부적으로 항상 UTF-16입니다. 실제로 인코딩에주의를 기울여야하는 곳은 바이트를 문자열로 또는 그 반대로 변환하는 것입니다. 인코딩이 바이트/문자 간 변환을위한 규칙 세트이기 때문입니다. 문자열의 속성이 아닙니다. 귀하의 경우, 변환은 정확히 두 번 발생해야합니다 : 타사 사이트를 읽을 때 및 로그 파일에 쓸 때.
제 3 자 사이트에서 읽을 때 이 아닌은 UTF-8 만 사용하면 모든 사이트에서 다양한 인코딩을 사용할 수 있습니다. 따라서 HTTP 헤더, HTML 메타 태그 또는 XML 헤더에서 선언 한 인코딩을 준수해야합니다. 괜찮은 HTTP 클라이언트라면 그렇게 할 것입니다. 그래서 그 일을하게하고 단지 아무 것도하지 않으려 고합니다.
로그 파일에 글을 쓸 때 플랫폼 기본 인코딩이 아닌 UTF-8을 사용해야합니다 (UTF-8 인 경우에도 변경 될 수 있음). 이 작업은 로깅 라이브러리의 구성에서 수행하거나 OutputStreamWriter
을 작성할 때 그러한 라이브러리없이 파일을 작성하는 경우 수행해야합니다.
String(byte[] bytes, Charset charset)
생성자를 사용하면 인코딩 문자 집합을 지정할 수 있습니다.
1 단계 : 양식이 포함 된 페이지 자체가 UTF-8인지 확인하십시오.
2 단계 : 들어오는 요청의 헤더를 확인하여 문자 세트를 제공하는지 확인하십시오.
3 단계 : String(byte[])
또는 InputStreamReader(InputStream)
에 의존하지 마십시오. 명시 적 문자 집합 사양을 사용하는 함수를 항상 호출하십시오.
- 1. 하위 문자열을 얻는 가장 좋은 방법은 무엇입니까?
- 2. Java에서 XML 문자열을 구문 분석하는 가장 좋은 방법은 무엇입니까?
- 3. Java에서 스레드를 실행하는 가장 좋은 방법은 무엇입니까?
- 4. 스칼라에서 문자열을 포맷하는 가장 좋은 방법은 무엇입니까?
- 5. QPixmap의 해시를 얻는 가장 좋은 방법은 무엇입니까?
- 6. winhttp.h를 얻는 가장 좋은 방법은 무엇입니까?
- 7. PHP에서 HashTable을 얻는 가장 좋은 방법은 무엇입니까?
- 8. 리소스 경로를 얻는 가장 좋은 방법은 무엇입니까
- 9. Java에서 빈지도를 만드는 가장 좋은 방법은
- 10. PHP에서 가장 비슷한 문자열을 찾는 가장 좋은 방법은 무엇입니까?
- 11. Java에서 중단 시간을 확인하는 가장 좋은 방법은 무엇입니까?
- 12. Ruby에서 문자열을 분할하여 모든 하위 문자열을 얻는 가장 좋은 방법은 무엇입니까? 예를 들어
- 13. Java에서 파일 생성 권한을 확인하는 가장 좋은 방법은 무엇입니까
- 14. oprofile에서 가장 유용한 출력을 얻는 가장 좋은 방법은 무엇입니까?
- 15. NHibernate에서 집계 된 결과를 얻는 가장 좋은 방법은 무엇입니까?
- 16. 자바 국가 목록을 얻는 가장 좋은 방법은
- 17. HTML 파일 업로드시 파일 이름을 얻는 가장 좋은 방법은 무엇입니까?
- 18. 존재하지 않는 폴더의 이름을 얻는 가장 좋은 방법은 무엇입니까?
- 19. 정보를 얻는 가장 좋은 방법은 xml입니까? sqlite?
- 20. Java에서 원활한 알림 창을 만드는 가장 좋은 방법은 무엇입니까?
- 21. Java에서 ActiveX 객체를 조작하는 가장 좋은 방법은 무엇입니까?
- 22. Java에서 Excel 파일을 작성하는 가장 좋은 방법은 무엇입니까?
- 23. Java에서 XML 파일의 한 값을 변경하는 가장 좋은 방법은 무엇입니까?
- 24. java에서 순환 배열 바이트 시프트를 구현하는 가장 좋은 방법은 무엇입니까?
- 25. Java에서 FSA/FSM을 구현하는 가장 좋은 방법은 무엇입니까?
- 26. Java에서 디스크에 객체를 저장하는 가장 좋은 방법은 무엇입니까?
- 27. Java에서 명령 줄 응용 프로그램을 작성하는 가장 좋은 방법은 무엇입니까?
- 28. mmap과 마찬가지로 Java에서 메모리에 액세스하는 가장 좋은 방법은 무엇입니까?
- 29. Java에서 파일의 총 단어 수를 확인하는 가장 좋은 방법은 무엇입니까?
- 30. Java에서 임의의 사용자의 홈 디렉토리를 찾는 가장 좋은 방법은 무엇입니까?
이 자습서는 꽤 좋습니다. http://download.oracle.com/javase/tutorial/i18n/text/string.html – CoolBeans