sitelink1  
sitelink2  
extra_vars5  
extra_vars6  

그런데 개발환경인 이클립스+톰캣에서는 깨지지 않는다.

그에 대한 Copilot 의 답변을 들어봤다.

 

톰캣 9.0 환경에서 JSP가 한글이 포함된 JS 파일을 import 할 때 한글이 깨지는

문제는 주로 파일의 인코딩 설정 또는 톰캣의 인코딩 설정과 관련이 있습니다.

이 문제를 해결하기 위해 몇 가지 방법을 시도해볼 수 있습니다.

 

### 1. 파일 인코딩 확인 및 설정

먼저, JSP와 JS 파일이 UTF-8 인코딩으로 저장되어 있는지 확인하세요.

 

- Eclipse에서 파일을 열고, `File` > `Properties` > `Resource` 탭에서 인코딩이 `UTF-8`로 설정되어 있는지 확인합니다.

- 필요한 경우, 인코딩을 UTF-8로 변경하고 파일을 다시 저장합니다.

 

### 2. 톰캣의 인코딩 설정

톰캣의 `server.xml` 파일을 수정하여 인코딩 문제를 해결할 수 있습니다.

 

1. `server.xml` 파일 열기: `<TOMCAT_HOME>/conf/server.xml`

2. 다음 Connector 설정에 URIEncoding="UTF-8"을 추가합니다:

   ```xml

   <Connector port="8080" protocol="HTTP/1.1"

              connectionTimeout="20000"

              redirectPort="8443"

              URIEncoding="UTF-8" />

   ```

 

### 3. JSP 페이지의 인코딩 설정

JSP 페이지 상단에 다음과 같은 디렉티브를 추가하여 인코딩을 명시합니다:

```jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

```

 

### 4. 웹 애플리케이션의 인코딩 필터 설정

`web.xml` 파일에 인코딩 필터를 추가하여 모든 요청과 응답에 대해 UTF-8 인코딩을 강제할 수 있습니다.

 

```xml

<filter>

    <filter-name>encodingFilter</filter-name>

    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>

    <init-param>

        <param-name>encoding</param-name>

        <param-value>UTF-8</param-value>

    </init-param>

    <init-param>

        <param-name>ignore</param-name>

        <param-value>true</param-value>

    </init-param>

</filter>

<filter-mapping>

    <filter-name>encodingFilter</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

```

 

### 5. JS 파일의 인코딩 설정

JS 파일이 UTF-8로 인코딩되어 있는지 확인합니다. 이를 위해 텍스트 에디터에서 파일을 열고 저장할 때 UTF-8 인코딩을 사용하도록 설정합니다.

 

### 6. HTML 파일의 인코딩 설정

HTML 파일의 `<head>` 섹션에 다음 메타 태그를 추가하여 인코딩을 명시합니다:

```html

<meta charset="UTF-8">

```

 

위의 방법들을 순서대로 적용해보면서 문제를 해결할 수 있습니다. 각 단계가 적용된 후 한글이 제대로 표시되는지 확인해보세요.

 

위 방법들중 환경과 코드만 적용해보다가 마지막에 별도의 에디터 프로그램으로 파일의 인코딩을 utf-8로 적용했는데 그게 문제더라...

예상으로는 개발환경에서의 파일 저장 인코딩과 개발 환경 구동 서버의 인코딩이 동일하기 때문에 인코딩 오류가 없었던 것 같다. (iso-8859 또는 ms949 일 가능성이 있음)

그런데 배포하여 운영하는 환경에서는 파일 인코딩과 서버의 인코딩이 다르니 당연히 깨지는 현상이 발생한 것이라고 예상된다. (서버는 utf-8 로 설정했다)

 

라고 생각해서 운영의 js 파일을 copy 해서 개발의 js 에 overwrite 하고 개발서버의 서비스를 출력해봤는데... 안깨짐 -0-

이해 할 수 없는 현상이다. ㅜ.ㅜ

개발 환경의 인코딩 처리 프로세스가 운영보다 스마트 한가보다라는 결론으로 끝냈다. ㅎㅎ

어쨌든 한글이 깨지면 copilot 의 답변의 내용은 모두 체크해 봐야 한다.

 

 

 

다음은 Copilot 의 답변을 그대로 캡춰한 이미지이다. (위에 텍스트는 copy & paste 용)

 

2024-07-14 094519.png

 

 

번호 제목 글쓴이 날짜 조회 수
» jsp 에서 <script> 로 import 한 js 내의 한글이 깨진다 file 황제낙엽 2024.07.14 296
25 "org.apache.tomcat.util.net.SecureNioChannel.getSslEngine()" is null 황제낙엽 2023.06.22 242
24 windows tomcat 에 Let's Encrypt(SSL) 적용 황제낙엽 2023.06.21 285
23 [Tomcat 7] org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 황제낙엽 2019.10.16 462
22 톰캣과 방화벽 file 황제낙엽 2019.09.17 261
21 톰캣 한글 깨짐, UTF-8 인코딩 설정[2] file 황제낙엽 2018.08.23 1268
20 톰캣 한글 깨짐, UTF-8 인코딩 설정[1] [1] file 황제낙엽 2018.08.23 3635
19 이클립스는 괜찮은데 톰캣에서만 한글깨짐 (윈도우 콘솔의 다국어 인코딩 포함) file 황제낙엽 2018.08.23 3166
18 캐시 여유 공간 부족 (insufficient free space) 해결 황제낙엽 2018.03.16 4431
17 무설치 포터블(portable) 톰캣을 윈도우 서비스로 등록하기 황제낙엽 2017.11.07 479
16 구버전의 톰캣 실행하기 황제낙엽 2017.03.22 243
15 Tomcat 8에 SSL 인증서를 적용 황제낙엽 2016.12.23 1768
14 Server.xml 에 Context 추가 황제낙엽 2012.09.19 248
13 톰캣 메모리 확장 시키기 file 황제낙엽 2012.02.01 360
12 URIEncoding 황제낙엽 2011.05.12 215
11 톰캣의 URI encoding 설정하기 황제낙엽 2011.05.12 194
10 Post too large 황제낙엽 2010.08.06 244
9 아파치와 톰캣 연동 및 로드 발란싱 구현 (포스데이타) file 황제낙엽 2010.05.06 208
8 톰캣 5.x 에서의 URI 한글 인코딩 문제..(Set Character Encoding) 황제낙엽 2008.01.30 420
7 Howto Install Tomcat 5 + Apache 2 in WinXP 황제낙엽 2007.10.31 182