2011-11-08 2 views
0

データイムは、私が何らかの理由で今

をutf8_general_ci使用するように私のデータベースとフィールドを設定しているUTF8エンコード

を使用しているページの外で、私は、上の次のコードを使用する必要がありますデータベース内にアクセント記号付きの文字を正しく表示するには、変数を使用します。

mb_convert_encoding($name,'ISO-8859-15','utf-8'); 

これは意味をなさないものです。 phpmyadminがutf8で、データがutf8で、データベースとテーブルのフィールドがutf8になっていると、なぜISO-8859-15に変換する必要がありますか?

答えて

2

データベースをUTF-8に設定していない可能性が高いので、データベースではISO-8859エンコードされたデータを送信することを想定しています。クライアント\t UTF8 (グローバル値)を設定http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

+0

文字\t latin1の 文字が接続\t UTF8 (グローバル値)を設定\t latin1の 文字セットデータベース\t LATIN1 文字セットのファイルシステム\tバイナリ 文字セットの結果\t UTF8 を(参照してください。グローバル値)\t latin1 文字セットサーバー\t latin1 文字セットシステム\t utf8 – scarhand

+0

ルいくつかの変数はlatin1に設定されています。私はそれを変更するINIで見つけることができません... – scarhand

+1

新しい接続ごとに、接続後、 'SET NAMES utf8'のクエリを発行するか、[' mysql_set_charset'](http://www.php.net/manual /en/function.mysql-set-charset.php)。プロダクションのini設定を変更できないことは珍しくないので、これは最も移植性の高い方法です。 – deceze