###前提・実現したいこと
MariaDBにあるデータベースをPHPで取得してブラウザで表示しようとしています。
データベースはサーバーにwindowsからTeraTermでssh接続してコマンドラインで作成しました。
###発生している問題・エラーメッセージ
日本語で入力した部分だけが?????と表示されます。
###該当のソースコード
php
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset=”UTF-8"> 5 <title>Test Query</title> 6 </head> 7 <body> 8 <?php 9 require_once 'login.php'; 10 $db_server = mysql_connect($db_hostname, $db_username, $db_password); 11 12 if(!$db_server) die("Unable to connect to MySQL: " . mysql_error()); 13 14 mysql_select_db($db_database) 15 or die("Unable to select database: " . mysql_error()); 16 17 $query = "SELECT * FROM classics"; 18 $result = mysql_query($query); 19 20 if(!$result) die ("Database access failed: " . mysql_error()); 21 22 $rows = mysql_num_rows($result); 23 24 for($j = 0; $j < $rows; ++$j){ 25 echo 'Author: ' . mysql_result($result, $j, 'author') . '<br/>'; 26 echo 'Title: ' . mysql_result($result, $j, 'title') . '<br/>'; 27 echo 'Category: ' . mysql_result($result, $j, 'category') . '<br/>'; 28 echo 'Year: ' . mysql_result($result, $j, 'year') . '<br/>'; 29 echo 'ISBN: ' . mysql_result($result, $j, 'isbn') . '<br/>'; 30 } 31 ?> 32 </body> 33</html>
###試したこと
/etc/my.cnf.d/server.cnf
の[mysqld]に
character-set-server=utf8
を追加して、
show variables like 'char%';
でutf8になっていることを確認しました。
また、teratermの端末設定の「漢字-送信」もUTF-8になっていることを確認しました。
###補足情報(言語/FW/ツール等のバージョンなど)
サーバーはCentOS7を使用
データベースは5.5.47-MariaDB
回答3件
あなたの回答
tips
プレビュー