PHP(链接MySQL)日语回显字符串成为问号

时间:2018-12-27 06:42:36

标签: php sql

我确定我已经将字符代码设置为utf-8,但是所有日语字符仍然变为?当我在html上打开它时。请帮忙解决。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>社員資料削除(Delete members' info</title>
</head>
<body >

<?php
$select_id=$_GET["id"];

$dbcon = mysql_connect('localhost', 'root', '');
$result = mysql_select_db('isl_member', $dbcon);
$query_sn= mysql_query("Select Surname from member WHERE Member_id= '$select_id'",$dbcon);
$query_fn= mysql_query("Select First_name from member WHERE Member_id= '$select_id'",$dbcon);
$query_age= mysql_query("Select Age from member WHERE Member_id= '$select_id'",$dbcon);
$query_sex= mysql_query("Select Sex from member WHERE Member_id= '$select_id'",$dbcon);
$query_dep= mysql_query("Select Department from member WHERE Member_id= '$select_id'",$dbcon);
$result = mysql_query('SET NAMES utf8', $dbcon);
if (!$result) {
  exit('文字コードを指定できませんでした。');
}
mb_language("uni");
mb_internal_encoding("utf-8"); //内部文字コードを変更
mb_http_input("auto");
mb_http_output("utf-8");
?>

社員資料削除

<form method="post" action="index2.php?id=<?php echo $select_id ?>">
社員番号(worker id):<?php echo $select_id ?></br>
苗字(Surname):
<?php while ($row = mysql_fetch_array($query_sn, MYSQL_BOTH)) {
    echo($row["Surname"]);}
mysql_free_result($query_sn)?> </br>
名前(First name):
<?php while ($row = mysql_fetch_array($query_fn, MYSQL_BOTH)) {
    echo($row["First_name"]); }
mysql_free_result($query_fn)?></br>
性別(Sex):
<?php while ($row = mysql_fetch_array($query_sex, MYSQL_BOTH)) {
    echo($row["Sex"]);}
mysql_free_result($query_sex)?></br>
年齢(Age):
<?php while ($row = mysql_fetch_array($query_age, MYSQL_BOTH)) {
    echo($row["Age"]);}
mysql_free_result($query_age)?></br>
部署(Department):
<?php while ($row = mysql_fetch_array($query_dep, MYSQL_BOTH)) {
    echo($row["Department"]);}
mysql_free_result($query_dep)?></br>

<input type="submit" value="削除(Delete)">
</form>
</body>
</html>

我想将此链接与我的SQL数据库连接。 目前可以显示社员番号(worker id)和年齢(age)。其他人都变成了??????。如果我将这些项目更改为英语,则可以毫无问题地查看。因此,我肯定字符代码会带来很大麻烦。网站上添加了英文说明,编辑器上的代码没有英文说明。

1 个答案:

答案 0 :(得分:0)

入站连接的默认编码设置不正确。 DEFAULT CHARSET将以utf8的形式返回,但是character_set_server将有所不同。您的character_set_server可以设置为latin1

解决方案

设置default-character-set=utf8

更多信息:https://confluence.atlassian.com/doc/configuring-database-character-encoding-177698.html

相关问题