웹 프론트엔드 JS 튜토리얼 중국어 매개변수_javascript 기술을 전달하는 JS URL로 인해 문자가 깨졌습니다.

중국어 매개변수_javascript 기술을 전달하는 JS URL로 인해 문자가 깨졌습니다.

May 16, 2016 pm 06:47 PM
url 중국어 매개변수 왜곡된 문자

해결 방법은 다음과 같습니다.

1. JS에서 중국어 매개변수를 두 번 변환합니다

코드 복사 코드는 다음과 같습니다.

var login_name = document.getElementById("loginname").value
로그인_이름 = encodeURI(로그인_이름)
로그인_이름 = encodeURI(로그인_이름)

2. 서버 측에서 매개변수 디코딩
코드 복사 코드는 다음과 같습니다.

String loginName = ParamUtil.getString(request, "login_name")
loginName = java.net.URLDecoder.decode(loginName,"UTF-8")


URL을 사용하여 매개변수를 전달할 때 중국어 이름이나 URL 주소가 포함된 일부 매개변수가 전달되는 경우가 많으며 백그라운드 처리 중에 변환 오류가 발생합니다. 일부 배달 페이지에서는 GB2312가 사용되고, 수신 페이지에서는 UTF8이 사용되므로 수신된 매개변수가 원래 매개변수와 일치하지 않을 수 있습니다. 서버측 urlEncode 함수를 사용하여 인코딩된 URL과 클라이언트측 javascript의 encodeURI 함수를 사용하여 인코딩된 URL 간에 결과가 다릅니다.

자바스크립트 인코딩 방법:

escape() 메서드:
ISO 라틴 문자 세트를 사용하여 지정된 문자열을 인코딩합니다. 모든 공백, 구두점, 특수 문자 및 기타 비ASCII 문자는 %xx 형식의 문자 인코딩으로 변환됩니다(xx는 문자 집합 테이블에 있는 문자 인코딩의 16진수와 동일합니다). 예를 들어 공백 문자에 해당하는 인코딩은 입니다. 이스케이프 해제 방법은 그 반대입니다. 이 방법으로 인코딩되지 않는 문자: @ * /

gb2312로 인코딩된 경우 이스케이프를 사용할 수 있지만 encodeURIComponent를 사용할 수 없습니다. 그렇지 않으면 왜곡됩니다.

이스케이프 사용 방법: http://www.jb51.net/w3school/jsref/jsref_escape.htm

영어 설명: MSDN JScript 참조: 이스케이프 메서드는 [인수]의 내용을 포함하는 문자열 값(유니코드 형식)을 반환합니다. 모든 공백, 구두점, 악센트 문자 및 기타 비ASCII 문자는 %xx 인코딩으로 대체됩니다. , 여기서 xx는 문자를 나타내는 16진수에 해당합니다. 예를 들어 공백은 "
으로 반환됩니다. Edge Core Javascript 가이드: escape 및 unescape 함수를 사용하면 문자열을 인코딩하고 디코딩할 수 있습니다. unescape 함수는 지정된 16진수 인코딩 값에 대한 ASCII 문자열을 반환합니다. >

encodeURI() 메서드: UTF-8 인코딩 형식을 사용하여 URI 문자열을 이스케이프 형식 문자열로 변환합니다. 이 방법으로 인코딩되지 않는 문자: ! @ # $& * ( ) = : / ?
영어 설명: MSDN JScript 참조: encodeURI 메서드는 인코딩된 URI를 반환합니다. 결과를 decodeURI에 전달하면 encodeURI 메서드는 ":", "/", ";" 문자를 인코딩하지 않습니다. 및 "?"를 사용하여 이러한 문자를 인코딩합니다. Edge Core Javascript 가이드: 특정 문자의 각 인스턴스를 UTF-8 인코딩을 나타내는 1개, 2개 또는 3개의 이스케이프 시퀀스로 대체하여 URI(Uniform Resource Identifier)를 인코딩합니다. 캐릭터


encodeURIComponent() 메서드: UTF-8 인코딩 형식을 사용하여 URI 문자열을 이스케이프 형식 문자열로 변환합니다. encodeURI()와 비교하여 이 메서드는 / 및 기타 문자와 같은 더 많은 문자를 인코딩합니다. 따라서 문자열에 URI의 여러 부분이 포함되어 있으면 이 방법을 사용하여 인코딩할 수 없습니다. 그렇지 않으면 / 문자가 인코딩된 후 URL에 오류가 표시됩니다. 이 방법으로 인코딩되지 않는 문자: ! * ( )

영어 설명: MSDN JScript 참조: encodeURIComponent 메서드는 결과를 decodeURIComponent에 전달하면 원래 문자열이 반환됩니다. encodeURIComponent 메서드는 모든 문자를 인코딩하므로 문자열이 /folder1/과 같은 경로를 나타내는 경우 주의하세요. 폴더2/default.html. 슬래시 문자는 인코딩되며 웹 서버에 요청으로 전송되는 경우 유효하지 않습니다. 문자열에 둘 이상의 URI 구성 요소가 포함되어 있으면 encodeURI 메소드를 사용하세요. 특정 문자의 각 인스턴스를 문자의 UTF-8 인코딩을 나타내는 1개, 2개 또는 3개의 이스케이프 시퀀스로 바꾸는 URI(Uniform Resource Identifier) ​​구성 요소입니다.


따라서 중국어 문자열의 경우 문자열 인코딩 형식을 UTF-8 형식으로 변환하지 않으려면(예: 원본 페이지와 대상 페이지의 문자 집합이 동일한 경우) 이스케이프만 사용하면 됩니다. 페이지가 GB2312 또는 기타 인코딩이고 매개변수를 허용하는 페이지가 UTF-8로 인코딩된 경우 encodeURI 또는 ​​encodeURIComponent를 사용해야 합니다.

또한 javascript1.5 이후에 encodeURI/encodeURIComponent가 도입되었으며, javascript1.0에서는 escape가 가능했습니다.

탈출() 메소드는 서버 측에서 공백으로 해석되거나 해당 필드에 공백이 있는 양식에 의해 생성되는 문자를 인코딩하지 않습니다. 이러한 단점으로 인해 가능하면 escape() 사용을 피해야 합니다. 가장 좋은 대안은 일반적으로 encodeURIComponent()입니다. encodeURI() 메서드의 사용은 URL의 일부인 쿼리 문자열과 달리 URI [REF]를 인코딩한다는 점에서 escape()보다 조금 더 전문화되어 있습니다. URI를 사용하고 특정 문자를 인코딩되지 않은 상태로 유지해야 하는 리소스에 사용할 문자열을 인코딩해야 하는 경우 이 방법을 사용합니다. ' 문자는 URI 내에서 유효한 문자이므로 이 메소드는 인코딩하지 않습니다. 마지막으로, URI의 단일 구성 요소를 인코딩할 때 대부분의 경우 encodeURIComponent() 메소드를 사용해야 합니다. 이 방법은 일반적으로 URI의 특수 문자로 인식되는 특정 문자를 인코딩하여 많은 구성 요소가 포함될 수 있도록 합니다. ' 문자는 URI 내에서 유효한 문자이므로 이 방법은 인코딩하지 않습니다.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

잘못된 단어 페이지 번호를 해결하는 방법 잘못된 단어 페이지 번호를 해결하는 방법 Jun 25, 2023 pm 03:23 PM

잘못된 단어 페이지 번호에 대한 해결 방법: 1. 단어 문서를 열고 왼쪽 상단에 있는 "파일" 옵션을 클릭합니다. 2. "추가" 옵션을 선택한 다음 "옵션" 버튼을 클릭합니다. 4. "문서 내용 표시"에서 "필드 값 대신 필드 코드 표시"를 찾아 앞에 있는 확인 표시를 제거한 후 확인을 클릭하여 홈 페이지로 돌아갑니다.

Linux에서 중국어 왜곡 문자를 해결하는 방법 Linux에서 중국어 왜곡 문자를 해결하는 방법 Feb 21, 2024 am 10:48 AM

Linux 중국어 왜곡 문제는 중국어 문자 세트 및 인코딩을 사용할 때 흔히 발생하는 문제입니다. 잘못된 파일 인코딩 설정, 시스템 로케일이 설치 또는 설정되지 않음, 터미널 디스플레이 구성 오류 등으로 인해 문자가 깨질 수 있습니다. 이 문서에서는 몇 가지 일반적인 해결 방법을 소개하고 특정 코드 예제를 제공합니다. 1. 파일 인코딩 설정을 확인하십시오. 파일 인코딩을 보려면 터미널에서 file 명령을 사용하십시오. 출력에 "charset"이 있는 경우.

e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 Mar 01, 2024 pm 01:20 PM

오류의 원인은 urllib3 라이브러리의 예외 유형인 NameResolutionError(self.host,self,e)frome입니다. 이 오류의 원인은 DNS 확인에 실패했기 때문입니다. 해결을 찾을 수 없습니다. 이는 입력한 URL 주소가 정확하지 않거나 DNS 서버를 일시적으로 사용할 수 없기 때문에 발생할 수 있습니다. 이 오류를 해결하는 방법 이 오류를 해결하는 방법은 여러 가지가 있습니다. 입력한 URL 주소가 올바른지 확인하고 액세스할 수 있는지 확인하십시오. DNS 서버를 사용할 수 있는지 확인하십시오. 명령줄에서 "ping" 명령을 사용해 볼 수 있습니다. DNS 서버를 사용할 수 있는지 테스트하려면 프록시 뒤에 있는 경우 호스트 이름 대신 IP 주소를 사용하여 웹사이트에 액세스해 보세요.

Jul 25, 2023 am 09:05 AM

PHP 기능 소개 - get_headers(): URL의 응답 헤더 정보 얻기 개요: PHP 개발에서는 웹 페이지나 원격 리소스의 응답 헤더 정보를 얻어야 하는 경우가 많습니다. PHP 함수 get_headers()를 사용하면 대상 URL의 응답 헤더 정보를 쉽게 얻고 이를 배열 형식으로 반환할 수 있습니다. 이 기사에서는 get_headers() 함수의 사용법을 소개하고 관련 코드 예제를 제공합니다. get_headers() 함수 사용법: get_header

Tomcat 시작 잘못된 코드를 해결하는 방법 Tomcat 시작 잘못된 코드를 해결하는 방법 Dec 26, 2023 pm 05:21 PM

잘못된 Tomcat 시작에 대한 해결 방법: 1. Tomcat의 conf 구성 파일 수정 2. 명령줄 창 인코딩 수정 4. Tomcat 서버 구성 확인 6. 로그 확인 파일 7, 다른 해결 방법을 시도해 보세요. 자세한 소개: 1. Tomcat의 conf 구성 파일을 수정하고, Tomcat의 conf 디렉터리를 열고, "logging.properties" 파일을 찾습니다.

Windows 10에서 중국어 문자가 깨지는 문제를 해결하는 방법 Windows 10에서 중국어 문자가 깨지는 문제를 해결하는 방법 Jan 16, 2024 pm 02:21 PM

Windows 10 시스템에서는 잘못된 문자가 일반적입니다. 그 이유는 종종 운영 체제가 일부 문자 집합에 대해 기본 지원을 제공하지 않거나 문자 집합 옵션 설정에 오류가 있기 때문입니다. 올바른 약을 처방하기 위해 실제 수술 과정을 아래에서 자세히 분석해 보겠습니다. Windows 10 잘못된 코드를 해결하는 방법 1. 설정을 열고 "시간 및 언어"를 찾습니다. 2. 그런 다음 "언어"를 찾습니다. 3. "언어 설정 관리"를 찾습니다. 4. 여기에서 "시스템 지역 설정 변경"을 클릭합니다. 5. 표시된 대로 확인하고 클릭합니다. 그냥 확인하세요.

win11 시스템 문서의 문자 깨짐 문제를 해결하는 방법 win11 시스템 문서의 문자 깨짐 문제를 해결하는 방법 Jun 29, 2023 pm 06:29 PM

win11에서 텍스트 문서가 왜곡되는 문제를 해결하는 방법은 무엇입니까? 많은 사용자가 win11 시스템을 사용하면 텍스트 문서가 깨져서 정상적으로 읽을 수 없습니다. 많은 친구들이 이 문제를 해결하는 방법을 모릅니다. 사실 이 방법은 어렵지 않습니다. 아래에서 편집자는 Windows 11 시스템 문서가 왜곡된 문제를 해결하는 단계를 정리했습니다. 이것이 여러분에게 영감을 줄 수 있기를 바랍니다. 왜곡된 Windows 11 시스템 문서를 해결하는 단계: 1. 먼저 win11의 제어판을 열고 아래 검색 상자에 제어판을 입력한 후 검색을 클릭하여 제어판에 들어갑니다. 2. 패널 진입 후 시계와 지역을 찾아 클릭하여 진입한 후 지역 옵션을 클릭하세요. 3. 입력 후 관리 패널을 클릭한 후 시스템 지역 설정 변경을 클릭합니다.

파일질라 문자 깨짐 해결 방법 파일질라 문자 깨짐 해결 방법 Nov 20, 2023 am 10:16 AM

filezilla 왜곡된 문자에 대한 해결 방법은 다음과 같습니다. 1. 인코딩 설정을 확인합니다. 3. 서버 구성을 확인합니다. 5. 소프트웨어 버전을 업데이트합니다. .기술 지원을 요청하세요. FileZilla 문자 ​​깨짐 문제를 해결하려면 여러 측면에서 시작하여 점차적으로 문제의 원인을 조사하고 해당 조치를 취하여 복구해야 합니다.

See all articles