Q&A

 

안녕하세요

저는 현재 졸업한 연구실 홈페이지를 만드는중입니다.

xe를 사용하고 있습니다.

 

현재 문제는 한글이 db에 저장될 때 아래의 그림처럼 한글 사이에 \가 삽입되는 오류가 있습니다.

error.PNG

 

 

과거에도 이러한 문제점이 있었는데요

그때 당시에는 구글링을 통해서 해결을 하였습니다.

어떤 방법인지가 기억이 잘 나진 않지만

db언어 셋을 바꾸는 명령어를 어느 파일에 넣었더니

말끔히 해결되었던것 같습니다.

 

현재 제가 사용하는 db의 언어셋은 아래와 같습니다.

 

2222.png

 

고수님들의 가르침을 기다리고 있겠습니다.

 

댓글 15

  • ₩가 들어가기도 하고 안들어가기도 하네요...
    혹시 차이가 있나요?
  • @misol
    항상 같은 글자에서 \가 삽입이 되는거 같습니다.
  • 이 문제에 대한 해답을 알고계신분에게는 소정의 보답을 드릴 수 있도록하겠습니다.
    정말 급합니다. ㅠㅠㅠ

    (사이트 정책에 맞지 않는건 아니겠죠...?)
  • 서버를 euc-kr 해서 그런것 같은데

    header("Content-Type: text/html; charset=UTF-8");

    를 php 에 삽입해야 하는데 index.php 파일 상단에 한번 넣어 보실래요?
  • @GG
    index.php파일 상단에 header("Content-Type: text/html; charset=UTF-8"); 삽입해도 마찬가지이네요...
  • @웅키
    아.. 디비군요...

    set names utf8;

    한번 해보시겠어요?
  • @GG
    제가 잘 몰라서 그런데
    SQL 접속해서 쿼리 명령어 쓰라는 말씀이신가요?

    쿼리로 set names utf8; 하고 다시 글을 작성하였지만 똑같이 \가 삽입됩니다...
  • @웅키
    index.php 상단에 넣어 보시겠어요?
  • @GG
    index.php 파일에서

    <?php

    이후 주석을 제외한 위치에


    set names utf8;을 넣을 경우 아래와 같은 오류가 발생하며

    Parse error: syntax error, unexpected T_STRING in /wwwroot/cfdlab/cfdlab/index.php on line 36


    mysql_query("SET NAMES 'utf8'"); 을 넣을 경우 아래와 같은 오류가 발생합니다.

    Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /wwwroot/cfdlab/cfdlab/index.php on line 36

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /wwwroot/cfdlab/cfdlab/index.php on line 36

    Warning: Cannot modify header information - headers already sent by (output started at /wwwroot/cfdlab/cfdlab/index.php:2) in /wwwroot/cfdlab/cfdlab/index.php on line 37
  • @웅키
    $oContext->init(); 다음 줄에 한번 넣어 보시겠어요?
  • @GG
    Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /wwwroot/cfdlab/cfdlab/index.php on line 38

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /wwwroot/cfdlab/cfdlab/index.php on line 38

    Fatal error: Call to a member function init() on a non-object in /wwwroot/cfdlab/cfdlab/index.php on line 39

    이러한 에러가 발생합니다.
  • @웅키
    저도 잘 모르겠네요. my.cnf 에서 euc-kr 을 utf8 로 바꾸셔야 할듯요
  • bbbb.PNG

     

    위의 그림은 DB에 저장된 내용을 나타낸것입니다.

     

    동일한 글자 뒤에서 \가 삽입이 되고있습니다.

    DB를 직접 수정하여 \를 제거할 경우에는 사이트에서도 정상적으로 표시가 됩니다.

     

    이런증상을 보았을때 내용을 db로 저장시키는 쪽에서 문제가 있지 않나 싶습니다.

  • @웅키
    첫 줄을 보면, DB 문제는 아닌거 같아요.
    같은 가나다라 인데 앞엔 괜찮고 뒤엔 ₩가 들어갔네요..
  • @misol
    아 그부분은 제가 확인해보기 위해 db내용을 직접 수정하여 \를 지워서 그렇습니다.