첨부파일 한글 깨짐 현상 질문드려요

첨부파일 한글 깨짐 현상 질문드려요

QA

첨부파일 한글 깨짐 현상 질문드려요

본문

안녕하세요. php를 갓 시작한 코린입니다. 다름이아니라 다중파일 업로드 기능을 만들어서

 

첨부파일이 있는 해당 게시글을 들어갔을 때 첨부파일들의 목록을 쭉 나열하는 구조인데요.

 

영어는 잘 나오나 한글이 깨져서 나오기에 도움을 요청 하러 왔습니다 ㅜㅜ 우선

 

1. phpmyadmin으로 사용하고있구요. 데이터베이스로 봤을 때는 한글이 정상적으로 출력이 되고있습니다.

 

2. 검색을 통해 아래 코드를 이용해보았지만 그대로 한글이 깨져서 출력됩니다.

        mysqli_query($conn, "set names utf8");

        mysqli_query($conn, "set session character_set_connection=utf8;");

        mysqli_query($conn, "set session character_set_results=utf8;");

        mysqli_query($conn, "set session character_set_client=utf8;");

 

3. 출력부분에 파일이름을 가지고있는 변수를 iconv("EUC-KR","UTF-8",$file['file_name']); 묶었더니

   아래 에러가 출력됩니다.

 

1948976382_1636455650.2679.jpg

 

 

 

------------- 아래부터는 코드 내용입니다. ------------

<?php
        $conn = mysqli_connect("localhost:3307", "root", "1234", "board_quest");
 
        if(!$conn){
            echo 'db에 연결하지 못했습니다.'. mysqli_connect_error();
        }else{
            echo 'db에 접속했습니다.!';
        }
        mysqli_query($conn, "set names utf8");
        mysqli_query($conn, "set session character_set_connection=utf8;");
        mysqli_query($conn, "set session character_set_results=utf8;");
        mysqli_query($conn, "set session character_set_client=utf8;");
       
        $view_num = $_GET['number']; // index.php에서 어떠한 게시물을 클릭했을 시 get방식을 이용해 number 컬럼을 받아옴
        $sql = "SELECT * FROM board WHERE number = '$view_num'"; // 받아온 number에 대한 정보를 검색 질의어를 변수에 넣음
        $result = mysqli_query($conn, $sql);
        $sql1 = "SELECT * FROM upload_file WHERE post_num = '$view_num'";
        $postnum_result = mysqli_query($conn,$sql1);
        $filelist = '';
       
       

 
    ?>
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>view - 게시판</title>
</head>
<body>
    <h1>게시판</h1>
    <h2>글 내용</h2>
    <?php
    if($row = mysqli_fetch_array($result)){
 
   
    ?>                                                                                                
    <h3>글번호 : <?= $row['number'] ?> / 글제목 : <?= $row['title'] ?> / 글쓴이 : <?= $row['name']?> <br/>  
   
    / 첨부파일 : <?php
    while($file = mysqli_fetch_array($postnum_result)){
        iconv("EUC-KR","UTF-8",$file['file_name']);
        $i = 0;
        $filelist =  $filelist ."<li><a href=\"download.php?number={$file['post_num']}&&file_name={$file['file_name']}\">{$file['file_name'][$i]}</a></li>";  
        $i++;
     }
    echo $filelist;
    ?> </h3>
    <div>
        <?= $row['content'] ?>
    </div>
    <?php  } // if문을 여기서 닫아주면서 해당하는 글의 대한 정보 출력
 
        mysqli_close($conn);
    ?>
   
    <p><a href="index.php">메인 화면으로 돌아가기 </a></p>
    <p><a href="update.php?number=<?= $row['number'] ?>&&file_name=<?= $file['file_name']?>">수정하기1 </a></p>
    <?
    // 해당하는 글에대한 number 정보를 update.php에 get방식으로 넘겨주면서 수정하기 기능 생성
    ?>
</body>
</html>

이 질문에 댓글 쓰기 :

답변 1

서버는 뭘로 했나요? 서버에서 깨진거 일수도있고.. 

다운로드 구현  했을때 한글이 꺠진다고 짧게 설명 해도 알아먹을것 같은데.. 위에꺼 다시 읽어보니까 그 문제 였군요
https://blog.naver.com/darkjoro/110126608439
구글링 해도 잘 나와요 그리고 그누보드 내부에 다운로드 있으니까 그걸 참고해보세요

답변주셔서 감사합니다. 저 링크대로 하니 Uncaught TypeError: iconv(): Argument #3 ($string) must be of type string, array given in 가 계속 터집니다..ㅜ

답변을 작성하시기 전에 로그인 해주세요.
전체 24
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT