(¤ à ¤ ¿à ¤ ¨ à ¥ ¹ à à ¤? | À ¥ €) unicode dize depolama ve görüntüleme PHP ve MySQL kullanarak

1 Cevap php

Ben, bir MySQL veritabanında Hintçe metni saklamak bir PHP komut dosyası kullanarak getirme ve bir web sayfasında görüntülemek zorunda. Ben şu ki:

I created a database and set its encoding to UTF-8 and also the collation to utf8_bin. I added a varchar field in the table and set it to accept UTF-8 text in the charset property.

Then I set about adding data to it. Here I had to copy data from an existing site. The hindi text looks like this: सूर्योदय:05:30

Ben doğrudan benim veritabanına bu metni kopyalanan ve PHP kodu echo(utf8_encode($string)) veri görüntülemek için kullanılan. Bunu yaparken üzerine tarayıcı bana gösterdi "???".

Ben tarayıcıda "kaynağı" giderek metnin UTF eşdeğer takıldığında, ancak, सूर्योदय सूर्योदय çevirir.

Ben veritabanında girin ve mağaza सूर्योदय, bu mükemmel dönüştürür.

Peki ne bilmek istiyorum ben doğrudan benim veritabanına सूर्योदय saklamak ve onu getir ve PHP kullanarak benim web sayfasında görüntülemek nasıl olduğunu.

Ayrıca, herkes सूर्योदय yazdığınızda, bana veren bir komut dosyası varsa beni anlamanıza yardımcı olabilir सूर्योदय?

Solution Found

Ben benim için çalıştı aşağıdaki örnek komut dosyası yazdı. Çok başkası yardımcı olur umarım

<html>
  <head>
    <title>Hindi</title></head>
  <body>
    <?php
      include("connection.php"); //simple connection setting
      $result = mysql_query("SET NAMES utf8"); //the main trick
      $cmd = "select * from hindi";
      $result = mysql_query($cmd);
      while ($myrow = mysql_fetch_row($result))
      {
          echo ($myrow[0]);
      }
    ?>
  </body>
</html>

Benim veritabanı depolama Hintçe utf dizeleri için dökümü

CREATE TABLE `hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `hindi` VALUES ('सूर्योदय');

Şimdi soru bu "META" belirterek veya başlık bilgisi olmadan nasıl işe yaramadı, değil mi?

Teşekkürler!

1 Cevap

Eğer HTML Başkanı bölümünde doğru charset ayarladınız mı?

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

veya kullanarak php komut içerik türünü ayarlayabilirsiniz -

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

Burada StackOverflow bazı tartışmalar zaten vardır - lütfen bir göz atın

How to make MySQL handle UTF-8 properly setting utf8 with mysql through php

PHP/MySQL with encoding problems

So what i want to know is how can i directly store सूर्योदय into my database and fetch it and display in my webpage using PHP.

Ben PhpMyAdmin veya herhangi bir diğer benzeri araç kullanarak veri girme demek ki .. Eğer "doğrudan veritabanında depolayarak" ne demek emin değilim? Evet, ben giriş unicode veri PhpMyAdmin kullanarak denedi, bu yüzden benim için iyi çalıştı - Sen phpmyadmin kullanarak veri giren denemek ve onaylamak için bir php komut dosyası kullanarak almak olabilir. Eğer, sadece İSİMLERİ ve mysql bağlantı oluşturmak KARAKTER SET ayarlanmış bir PHP komut dosyası aracılığıyla veri göndermeden önce insert sorguları yürütmek ve veri seçtiğinizde gerekir. Sözdizimi bulmak için yukarıdaki mesaj bakabilirsiniz. Umarım yardımcı olur.

** UPDATE ** Just fixed some typos etc