입력 폼 화면 요청 ( html 한글 ?? 물음표로 깨짐)
텍스트 입력 후 등록 버튼 클릭
DB확인
응답 결과 확인
mysql DB에도 깨져서 들어감
서버에서 DB로 전송할 때도 깨져서 저장된다
1) 설정 확인
show variables like 'c%';
2) utf-8 변경
ALTER DATABASE `board-aws` charset=utf8mb4;
🙃 응 아니야 ~
값은 정상으로 입력, 출력되고 있다
=> DB 인코딩은 정상
ubuntu?
컴파일?
http?
어디가 문제인가
http 참고 : https://lordofkangs.tistory.com/38
http 세부 내용 이해 참고 :
https://www.zerocho.com/category/HTTP/post/5b3ba2d0b3dabd001b53b9db
컴파일, 인텔리제이, DB 인코딩 문제는 아니다
Ubuntu?
참고 링크:
https://junhyunny.github.io/information/spring-boot/javascript/content-type-and-spring-annotation/
http content-type
https://pygmalion0220.tistory.com/entry/HTTP-Content-Type
웹에서 한글이 깨지는 이유는 웹브라우저와 웹서버가 서로 다른 인코딩 방식을 사용하기 때문이다.
이게 문제인것 같음!!!!
: 기본값을 받아올 때 ISO-8859-1
서로 요청과 응답 인코딩 방식이 다르다 (두근두근)
: console 개발자 모드 http header 확인 결과
=> html 화면 한글이 깨지는 이유는 이것인가?
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@RequestMapping(value = "/hospital", produces = "text/plain;charset=UTF-8")
가상 호스트 -e
https://www.ibm.com/docs/ko/sva/10.0.0?topic=configuration-utf-8-encoding-http-header-data
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=haisins&logNo=140117634496
1) docker mysql 접속해서 characterset 확인
: utf-8로 되어있음
https://beanbroker.github.io/2019/07/07/docekr_encode/
: 제
해당 코드를 브라우저에 검색하면 자동으로 인코딩되어 제
한글로 번역해서 검색이 된다
html 인코딩이 잘 못 된건가? 뭔가 자꾸 html 인코딩이 걸린다
show variables like 'c%';
변경전
<1. mysql 컨테이너 접속하여 변경해줌>
mysql> SET character_set_client = utf8;
mysql> SET character_set_results = utf8;
mysql> SET character_set_connection = utf8;
mysql> ALTER DATABASE DB명 DEFAULT CHARACTER SET utf8;
mysql> commit;
commit 명령어는 하위 테이블에 적용하는 명령어
변경 후
<2. my.cnf에 적용하는 방법(mysql 재기동 필요)>
[mysql]
default-character-set=utf8
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-client-handshake=FALSE
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
old_passwords=1
[client]
default-character-set=utf8
[mysqldump]
default-character-set=utf8
my.cnf 파일에 위 내용을 넣고 mysql을 재기동
디버깅한 결과
: 데이터베이스 문제는 아니다.
postman과 출력할때는 한글이 잘 나옴
문제는 ec2 앱에서 한글 인코딩 문제 발생
file -bi hospital-list.mustache
file -bi [파일명]
curl -I http://ec2-3-35-226-64.ap-northeast-2.compute.amazonaws.com:8088/articles/6
curl -I [페이지 주소]
https://dev-monkey-dugi.tistory.com/125
yml 파일을 누락했던 것...
하
공통 application.yml
저랑 동일한 문제인것같습니다. 단순히 웹컨피그에서 설정하면 되는건가요
?