2012-05-04 16 views
5

私はこれは私がこれは私がデシベルMYSQL - トルコ語の文字

Seçimler, Şirketler ve Siyasi Partiler 

で、それは

Se�imler, ?irketler ve Siyasi Partiler 
を印刷している通常はデシベル

に持っている通常、mysqlの

から件のデータを取得

私はSQLのyogを使用し、私のdbのいくつかの設定を変更します

私はUTF8に文字セットを設定し、照合がutf8_turkish_ci

ですが、まだその

Se�imler, ?irketler ve Siyasi Partiler 

理由のような件のデータを取得しますか?どうしたの ?

+0

[HTMLの外部文字をMySQLテーブルからutf-8文字に変換する](http://stackoverflow.com/questions/7003242/converting-html-foreign-characters-from-mysql-tables-to-utf)の可能な複製-8文字) – snnlankrdsm

答えて

10

この問題は、どこかで文字エンコーディングを指定していないように思えます。これを解決するには、文字エンコーディングをutf-8 everywereに設定してください(実際にはutf-8にする必要はありません)同じどこでも同じことが起こりますとにかくいくつかの場所を変更するには、私は強く)、UTF-8を使用してお勧めします:

  • UTF-8を使用するようにMySQLを伝えます。これを行うには、これをあなたの私のものに加えてください。CNF:mysqlのと対話する前に、

    collation_server = utf8_unicode_ci 
    character_set_server = utf8 
    
  • 、この2つのquerys送信:

    ​​3210

    、あるいは、PHPは接続をafteropeningこれをやらせる:

    mysql_set_charset('utf8', $conn); 
    
  • セットUTF-8データベース

    CREATE DATABASE `my_db` DEFAULT CHARACTER SET 'utf8'; 
    
  • のデフォルトの文字セットとしては、テーブルに対して同じ操作を行います。

    CREATE TABLE `my_table` (
        -- ... 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
    
  • がクライアントを想定しブラウザであり、あなたのコンテンツをutf-8として提供し、正しいヘッダ:

    <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
    
  • と、最後のではなく、少なくとも、言う:

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

    がメタタグを追加し、ブラウザが理解し、実際に確認しますutf-8を使用してフォームを送信するブラウザ

    <form accept-charset="utf-8" ...> 
    
+0

すべての機能がUTF8に設定されているので、私は本当にMYSQLに驚いた。さて、問題は解決されました.NAMESはutf8に設定されています。 – snnlankrdsm

1

あなたもあなたの選択クエリでCharset to UTF8を言及する必要があります。

​​3210
1

何私のために違いを作ったことは、これらの行を追加しました:最後に(my.iniファイルに

collat​​ion_server = utf8_unicode_ci内

character_set_server = UTF8

を私はこのすべてを試しましたが、私はこの変更を行うまで失敗しました。本当に大きな助けになりました。ありがとうoezi。

関連する問題