私はウェブサイトに "é"の代わりに文字を表示しています。é、どうしてわからないのですか
このスレッドが見つかりましたUTF-8 all the way throughこれは素晴らしいですが、私を助けなかった。なぜ私は見ることができません。
データがMysqlデータベースから取得されました。 SHOW変数が得られます。
character_set_client : utf8
character_set_connection : utf8
character_set_database : utf8
character_set_filesystem : binary
character_set_results : utf8
character_set_server : utf8
character_set_system : utf8
character_sets_dir : /usr/share/mysql/charsets/
collation_connection : utf8_unicode_ci
collation_database : utf8_general_ci
collation_server : utf8_general_ci
マイphpのヘッダー+ PDO ::コネクション・コードが文字セットとしてUTF-8を設定し、以下の通りです:
<!DOCTYPE HTML>
<html>
<head>
<?php header("Content-type: text/html; charset=utf-8"); ?>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
$db = new PDO('mysql:host=host.mysql.db;dbname=dbname;charset=utf8', 'user', '');
$db->exec('SET NAMES utf8');
その後、私のPDO:クエリのコードは次のようである、Iドン「Tは、文字セットを指定しますが、私はそれを行うには、なぜ/どのように表示されていない。
$query="SELECT * FROM db where rank = 1 limit 30";
$req = $db->query($query) or die(print_r($db->errorInfo(), true));
$req->setFetchMode(PDO::FETCH_ASSOC);
$data1 = array();
$data1 = $req->fetchAll();
は最後に、私はé文字を与え、データを印刷します。
<?php for($i = 0; $i < 5; ++$i):
$title = utf8_encode($data1[$i]['title']);
echo mb_check_encoding($title, "UTF-8"); // prints 1 (True)
echo $title; // prints é
注:私は "データ" の代わりに "はutf8_encode()" の "utf8_decodeを()" を使用する場合、私は文字を取得します。
私はメモ帳++を使用しています。私のファイルは「BOMなしのUTF8」にエンコードされています。
ヒント:ローカルホストデータベースで動作します。私はそれをオンライン(OVH)に入れ、今ではこれらの文字を持っています。このローカル・データベースで
、SHOW変数が得られます。
character_set_client : utf8mb4
character_set_connection : utf8mb4
character_set_database : latin1
character_set_filesystem : binary
character_set_results : utf8mb4
character_set_server : latin1
character_set_system : utf8
character_sets_dir : c:\wamp64\bin\mysql\mysql5.7.11\share\charsets\
check_proxy_users :OFF
collation_connection : utf8mb4_unicode_ci
collation_database : latin1_swedish_ci
collation_server : latin1_swedish_ci
1.なぜそこに 'utf8_encode'が必要ですか? 2.あなたのテーブルの構造は何ですか? – Dekel
うわー。私は余分なutf8_encodeを削除し、それは動作します...!答えに入れる – Vincent