코딩짜는 일상

[PHP+MySQL] 게시판 만들기_글 작성 알람 한글 깨짐 현상(alert 메시지) 본문

IT/PHP

[PHP+MySQL] 게시판 만들기_글 작성 알람 한글 깨짐 현상(alert 메시지)

Remily 2021. 10. 18. 00:38
반응형

PHP로 게시판을 만들던 중 글 올리기 테스트에서 알람창의 한글이 깨지는 현상 발견...

이게 왜 이런고 찾아보니...

charset 설정이 한글 인코딩인 utf-8로 되어있어야 한다는 설명이 있었다.

그래서 인코딩 설정들 다시 찾아봄

 

 

 

후보 1. index.php, write.php

일단 이녀석들 인코딩이 설정 안 되어있었다면 해당 페이지에 한글이 깨졌지

 글 등록에 성공했다는 알람의 한글이 깨지진 않을 것이다.


그래도 혹시나 하고 확인했으나 역시나 아님.

<?php include $_SERVER['DOCUMENT_ROOT']."/db.php"; ?>
<!DOCTYPE html>
    <head>
        <meta charset="UTF-8">
        <title>웹 포트폴리오</title>

 

 

 

후보 2. writeON.php

글을 작성하고 등록버튼을 누르면 파라메터 전송과 알람이 실행되는 파일.
그냥 파라메터 전송인데 굳이...? 라고 생각했으나 일단은 없어서 추가해봄.

<?php
header('Content-Type: text/html; charset=UTP-8');

include $_SERVER['DOCUMENT_ROOT']."/db.php";
    ~~파라메터 값 받음~~
if(모두 작성) {
    ~~값 서버에 전송~~
    echo "<script> alert('게시물이 등록되었습니다.');
        location.href='/index.php';</script>";
} else {
    echo "<script> alert('빈 항목을 채워주세요.');
        history.back();</script>";
} ?>

결과는 바뀐 게 없음...

 

 

 

후보 3. db.php

서버 설정하는 파일.

여기도 분명 내가 헤더를 넣어 뒀음!

<?php
    header('Content-Type: text/html; charset=UTP-8');

그럼에도 문제는 반복...

 

 

 

후보 4. MySQL 테이블 설정

얘도 제대로 설정해 뒀었음.

CREATE database `DB이름` CHARACTER SET utf8 COLLATE utf8_general_ci;

아님...

 

 

 

 

 

 

 

 

 

 

 

 

눈이 좋으신 분이라면 바로 발견하셨을 것 같다.

내가 무슨 잘못을 저질렀는지...

 

문제는 후보 3번 db.php였다.

utf-8을 utp-8로 썼음...

 

 

오늘의 교훈

문제가 생겼다면 안 넣었거나 잘못 넣었거나 오타다...

본 코드라도 다시 한 번 보자...

반응형