Extra Form
PHP PHP 7.3
CMS GnuBoard

안녕하세요

 

php 배열 변수 한글 깨짐 문제 뭐가 잘 못된걸까요..ㅠ

 

 

 

DB에 저장이 "장동건|조인성|원빈|강동원" 이렇게 되어 있습니다.

 

input text에 value 값으로 아래와 같이 넣고 있는데요.


value="<?php echo ($write['wr_theme'][0])? $write['wr_theme'][0]:'장동건아님'; ?>"

 

위 처럼 value 값에 약식if문 형태로 넣어주면 "장동건"이 나와야 하는걸로 아는데 한글이 깨져서 보여집니다.

 

파일도 utf-8로 저장을 하였고 charset 도 utf-8로 설정을 해두었는데 한글이 깨지네요.

배열 변수 사용이 잘못된걸까요??

  • Lv24

    장동건|조인성|원빈|강동원 이렇게 저장되어있다면 $배열 = explode('|', $해당디비값); 으로 배열로 만들어줘야 배열값이 나오겠지요.

    현재는 장동건|조인성|원빈|강동원 이건 배열이 아니라 스트링이라서 배열을 출력하지 못하는 거예요 ㅎㅎ

     

    정확하게 $write['wr_theme'] <- 이 변수를 디버그 찍어서 스트링인지 진짜 array배열로 되어있는지, 해당 배열값이 정상적으로 잘 출력되어있는지 확인한다음 explode 함수를 사용할지 안할지 보셔야할 것 같네요.

  • Lv24 ? Lv3
    답변 감사드립니다^^

    is_array 로 확인하니 배열이 아닌것으로 나오네요.. ㅠ

    이 경우 $write['wr_theme']변수를 배열로 선언하고 explode 로 짤라야 하는지요?

    아니면 바로 explode 로 자르면 될까요?
  • ? Lv3 Lv24
    $write['wr_theme'] 를 먼저 디버깅 해봐야지요. 변수타입이 스트링인지 오브젝트인지 배열인지 확인한다음 해당 값이 스트링으로 나왔고 위의 디비값 그대로 나온건지 확실하게 확인한다음 그다음에 explode 를 쓰셔야 하겠지요.

    변수값이 어떻게 나오냐에 따라 다 틀리니 그것부분은 정확하게 디버깅 찍어보시기 바랍니다.