0
テーブルの照合としてUTF8 GENERAL CI
というデータベース設定があります。しかし、私は次のPHPコードを使用して出力しようとすると、疑問符がUTF文字(Iは、地域の言語の文字を印刷しようとしています)の代わりに表示...PHPコードがUTF 8文字を出力していませんか?
には、以下の私のコードです:
<?php
class Article implements JsonSerializable{
private $id;
private $title;
private $content;
public function getId() {
return $this->id;
}
public function getTitle() {
return $this->title;
}
public function getContent() {
return $this->content;
}
public static function getById($id) {
$db = newMysqli();
$query = "select * from articles where _id=?";
$stmt = $db->prepare ($query) or dieOnError ($db);
$stmt->bind_param ("i", $id) or dieOnError ($db);
$stmt->execute() or dieOnError ($db);
$member = new Article();
$stmt->bind_result ($member->id, $member->title, $member->content);
$stmt->fetch() or dieOnError ($db);
$stmt->close();
return $member;
}
public function jsonSerialize(){
return get_object_vars($this);
}
}
PHPは確かにここで変更されていない文字列を出力しますが、それは問題ではありません。質問とは、クライアントに送信する文字エンコーディングと、クライアントが実際にその文字にグリフを持つフォントを使用する場合です。 – arkascha
[UTF-8の可能な複製](http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –
テーブル/カラムはおそらく 'CHARACTER SET latin1'です。 'SHOW CREATE TABLE'を見てみましょう。 –