php mysql ile utf8 ayarı

2 Cevap php

Ben veya utf8 olarak ayarlanmış olmayabilir böyle bir mysql veritabanı inceltmeleri içeren olarak utf8 formatetd verileri, alır aşağıdaki çok basit bir kod var. Ben o utf8 veri döndürülür sağlamak için dışarı yorumladı yaklaşımlardan birini kullanırsanız, veri onları bırakmak, ancak, verileri gösterilecektir, utf8 olarak iade edilecektir değil. Neden utf8 gibi veri görüntülemek utf8 inkâr zorlama olur?

<?php
  $con = mysqli_connect("localhost", "x", "", "x");
  //$con->query("SET NAMES 'utf8'");
  //$con-set_charset('utf8');
  $recordsQuery = "SELECT ARTICLE_NAME FROM AUCTIONS1";

  if ($getRecords = $con->prepare($recordsQuery)) {
        $getRecords->execute();
        $getRecords->bind_result($ARTICLE_NAME);

        while ($getRecords->fetch()) {
    	echo "<p>$ARTICLE_NAME";
        	 }
    } else {
        print_r($con->error);
    }

2 Cevap

Belki hata ile sayfa hizmet ediyoruz charset yatıyor. Eğer veritabanından UTF-8 içeriğini alma ve Windows 1252 varsayılan HTML charset ile hizmet veren iseniz o zaman bozuk bakmaya gidiyor. Emin bu eşdeğer olduğundan emin olun:

header( 'Content-Type: text/html; charset=utf-8' );

PHP kodu.

  1. Emin veriler zaten UTF-8 senin veritabanında kodlanmış olduğundan emin olun
  2. UTF-8 sunmak için veritabanını yapılandırmak (örn. kümesi adlarını 'utf8')
  3. Web sitenizde doğru kodlamayı kullanmak (stak sallamak)

Eğer hala sorunlarınız varsa, daha fazla veri, özellikle ne expected ve nihayet ne delivered veriniz