파일 업로드 과정에서 잘못된 문자가 테이블에 저장되는 것을 발견했습니다. zurück.pdf, C _Word.doc은 파일 이름입니다. 여기 ü 사이의 공백은 과 _Word 사이의 공백은 입니다. 테이블 열에. 클라이언트 측에서 영숫자가 아닌 값을 _ (밑줄)로 바꾸어 유효성을 검사했지만 여전히 이스케이프하고 DB에 유지됩니다. 클라이언트 측에서 어떻게 처리 할 수 있습니까?파일 이름에 잘못된 문자가 있음
0
A
답변
3
네이티브 독일어 사용자로서 'ü'도 '불법'도 아니란 점을 확신 할 수 있습니다.
데이터 테이블에서 사용하는 문자 인코딩은 무엇이며 클라이언트 측에서 어떤 문자를 사용하여 모든 문자가 유효한 범위 내에 있음을 보장합니까?
데이터베이스가 ASCII 문자 만 지원하고 변경할 수없는 경우 System.Text.ASCIIEncoding을 사용해야하며 모든 비 ASCII 문자가 '?'로 바뀝니다. 너를 위해서.
더 나은 방법은 유니 코드 문자를 이스케이프하고 유니 코드 문자 9404를 나타내는 '\ u9404'와 같은 ASCII 문자 세트와 호환되는 방법으로 표현하는 것입니다.이 작업의 일부 방법은 RFC5137을 참조하십시오. Convert a Unicode string to an escaped ASCII string에 대한 답변
0
을 사용하여 System.IO.Path.GetInvalidFileNameChars()
으로 전화를 걸거나 그 결과를 정규식으로 변환하여 클라이언트 측 유효성 검사를 RegulaExpressionValidator
으로 할 수 있습니다.
1
나는 Sebastian에 동의합니다. 파일 이름에 잘못된 문자가 있지만 사용중인 데이터베이스의 문자가 올바르지 않은 것이 문제입니다. 데이터베이스가 SQL Server라고 가정하면 열 데이터 유형을 nchar, nvarchar 또는 ntext로 변경하십시오 (현재 char, varchar 또는 text 중 하나 인 경우).
관련 문제
- 1. SQL Server - 매개 변수 이름에 잘못된 문자가 있음
- 2. CSV에서 데이터베이스에 잘못된 문자가 있음
- 3. 빈 .net 파일 "경로에 잘못된 문자가 있음"오류가 발생했습니다.
- 4. 잘못된 문자가
- 5. Plist에 "&"문자가 포함되어 있음
- 6. "텍스트 내용에 잘못된 문자가 있음"을 감지하는 방법
- 7. 파일 이름에 querystring이있는 FileStream?
- 8. URLEncode는이 문제를 파일 이름에 잘못된 문자로 수정합니까 (C#)?
- 9. 쿠키에 왜곡 된 문자가 있음
- 10. Android 에뮬레이터에 중국어 문자가 있음
- 11. List.AddRange 잘못된 인수가 있음
- 12. jsonp 응답에 잘못된 문자가 있습니다.
- 13. XML 문서에 잘못된 문자가 있습니다.
- 14. java.net.MalformedURLException : URL에 잘못된 문자가 있습니다.
- 15. AJAX 응답에 잘못된 문자가 있습니까?
- 16. Django : 그룹 이름에/bad 문자가 있습니다.
- 17. 파일 이름에 그리스어가있는 이미지 표시
- 18. .Net MVC 2, 파일 이름에 비 ASCII 문자가 포함 된 파일 반환
- 19. SQL Server 테이블 이름 앞에 '__'문자가 포함되어 있음
- 20. 파이썬 - 파일 이름에 공백이
- 21. 파일 이름에 문자열 찾기
- 22. 입력 한 파일 이름에 유효하지 않은 문자가 포함되어 있는지 확인하는 방법
- 23. Windows에서 파일 이름에 유니 코드 문자가 있으면 Ruby 1.9.1이 마침내 파일 이름 목록을 가져올 수 있습니까?
- 24. 노드 이름에 잘못된 문자가있는 XML을 구문 분석하는 방법?
- 25. 일부 클라이언트의 HTTP 헤더에 임의로 바뀐 문자가 있음
- 26. 의 파일 이름에 나는 이미지의 파일 이름에 사용하는 경우 HTML 페이지에 이미지를 깰 것이다 건너 한
- 27. EDOM 구문 분석 오류 (텍스트에 잘못된 문자가 있음)/한국어 문자 문제
- 28. URL에 잘못된 문자가 포함 된 HttpGet을 사용하십시오.
- 29. Tamil 글꼴에 대한 잘못된 문자가 표시됩니다 (Latha.ttf)
- 30. Visual Studio 키보드에서 잘못된 문자가 생성됩니다.