2016-09-10 2 views
0

MySQL 데이터베이스에서 데이터를 가져 오는 PHP 스크립트의 다이아몬드 내에 물음표로 나타나는 파운드 기호에 문제가 있습니다.파운드 기호가 물음표로 표시됨 PHP

다른 스택 오버플로 답변을 살펴본 결과 모든 것을 확인했다고 생각합니다.

나는 php.ini 파일에서 default_charset = "utf-8"을 가지고 있고, AddDefaultCharset UTF-8을 /etc/apache2/apache2.conf에/etc/apache2/conf-enabled /에 추가했습니다. charset.conf

또한 웹 페이지의 상단에이를 추가 한 :

<!DOCTYPE html> 
<html lang="en"> 
<HEAD> 
<meta charset="UTF-8"> 
<title>ZXDB</title> 
</HEAD> 
<BODY> 

마지막으로 나는 sudo는 서버를 다시 시작 다시 시작 /etc/init.d/apache2 달렸다.

아파치와 PHP7에서 우분투 16.04를 사용하고 있습니다.

무엇이 누락 되었습니까?

페이지는 여기에서 볼 수 있습니다 :

http://spectrumcomputing.co.uk/originalprices.php 

+0

모습이며 테이블에 사용하는 캐릭터 세트를 참조

, 당신은 그 캐릭터 세트로 변경해야 할 수도 있습니다. – ArtisticPhoenix

+0

안녕하세요. 테이블과 그 세트를 utf8_bin으로 보았습니다 –

+0

즉, UTF8 바이너리를 의미합니다 – ArtisticPhoenix

답변

0

£하나의로 게재되어 사전에 감사합니다? 그렇다면 https://stackoverflow.com/a/38363567/1766831의 "검은 색 다이아몬드"를 참조하십시오. 즉 말한다

  • 저장되는 바이트 UTF8로 인코딩되지 :

    케이스 1 (원래 바이트 UTF-8하지 않았다). 이것을 고쳐라.

  • INSERT 및 SELECT에 대한 연결 (또는 SET NAMES)이 utf8/utf8mb4가 아니 었습니다. 이것을 고쳐라.
  • 또한 데이터베이스의 열이 CHARACTER SET utf8 (또는 utf8mb4)인지 확인하십시오. 되지 UTF8/utf8mb4이었다 SELECT위한

    • 연결 (또는 SET NAMES)

    케이스 2 (일본어 바이트 UTF-8이었다). 이것을 고쳐라.

  • 또한 데이터베이스의 열이 CHARACTER SET utf8 (또는 utf8mb4)인지 확인하십시오.

검은 색 다이아몬드는 브라우저가 <meta charset=UTF-8>으로 설정된 경우에만 발생합니다.

0

답변 해 주셔서 감사합니다.

http://php.net/manual/en/mysqli.set-charset.php

가 IT 라틴어, 그래서 내가이 추가로 고정 말했다 : 심지어 데이터베이스 불구하고 나는이 설정 한 문자를 확인하면, 테이블과 필드는 모두 UTF-8로 설정했다 내 PHP

mysqli_set_charset ($ conn, "utf8"); $ CONN이 연결 문자열을 DB에

피터

관련 문제