저번에는 UTF-8 설정이 안돼서 애먹고 삭제 후 재설치를 했다.

그래서 이것저것 검색해서 UTF-8로 설정을 시켰다.


그렇게 다시 프로젝트를 진행 하는데...


이거 또 INSERT 할 때 

ERROR 1366 (HY000): Incorrect string value 한글이 깨지는 에러가 나는 것이다.

(이 순간 정말 화가날뻔 했다.)


마음을 가다듬고 다시 확인을 했다.

역시나 UTF-8로 잘 설정되어 있는 것을 확인할 수 있다.

이쯤 되니 도대체 무엇이 문제인지 의문이 들어 다시 찾아보기 시작했다.


구글링 검색 후 

한글을 euckr로 변환을 해야 안깨진다는 글을 보고

해당 계정에서 mysql> set character set euckr; 을 입력해보았다.

그리고 바로 확인해보니 INSERT가 되는 것이다 ! 


이게 UTF-8로 세팅을 하면 기존의 입력된 값을 불러올 때에는 한글이 깨지지 않는데 데이터를 입력할 때는 깨진다고 한다.

그 해결 방법이 한글을 euckr로 변환을 해주어야 한다는 것.


이렇게 조회를 해보면 데이터가 잘 입력되어 있다.



+)

set character set euckr; 명령은 일회성?인듯 하다.

mysql을 quit하면 다시 원래대로 utf-8로 셋팅이 됨.

그러니 번거로우신 분들은 셋팅 자체를 수정하시면 될 듯 하다.






큰 도움을 주신 분께 정말 감사드립니다!

출처: https://complainforyou.tistory.com/entry/mysql-ERROR-1366-HY000-Incorrect-string-value

3월 12, 2019 7:46:18 오후 org.apache.catalina.loader.WebappClassLoaderBase checkStateForResourceLoading

정보: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load []. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1348)

at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:1007)

at com.mysql.jdbc.AbandonedConnectionCleanupThread.checkContextClassLoaders(AbandonedConnectionCleanupThread.java:90)

at com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:63)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)


클래스 파일을 수정하거나 저장 중에 자꾸 이 에러가 뜨는게 거슬렸다.

찾아보니 톰캣 서버가 started인 상태에서 클래스 파일을 수정하거나 저장을 하면 자동 reloading이 되면 발생하는 에러라고 한다.



해결방법은 아래와 같이 [Servers]-[Tomcat]-server.xml 로 들어간다.



그리고 아래로 내려가보면  Host부분에 현재 작업하고 있는 프로젝트 Context가 있을 것이다.

reloadable="true"를 --> "false"로 변경해준다.



일단 이것으로 문제를 해결했다.



STS를 실행 시켰는데 이 상태로 응답없음이 떴다.

오류가 뜨는 것도 아니고 그냥 무반응이였다.

컴퓨터에 이상이 있나 해서 3번정도 재부팅을 하고 구글링을 하기 시작함.

검색해보니 자바 환경설정의 문제일 수도 있다고 해서 STS.ini 파일을 수정함.





sts가 설치 되어 있는 경로로 들어가 STS.ini 파일을 열어준다.




-startup

plugins/org.eclipse.equinox.launcher_1.5.100.v20180827-1352.jar

--launcher.library

plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.800.v20180827-1352

-product

org.springsource.sts.ide

--launcher.defaultAction

openFile

-vm

C:\Program Files\Java\jre1.8.0_171\bin\javaw.exe

-vmargs

-Dosgi.requiredJavaVersion=1.8

--add-modules=ALL-SYSTEM

-Xms40m

-Dosgi.module.lock.timeout=10

-Dorg.eclipse.swt.browser.IEVersion=10001

-Xmx1200m


그리고 빨간색 글씨로 표시된 부분을 추가해주는데 -vmargs 전에 추가를 해주어야 한다.



+ Recent posts