2

漢字と英語の両方を含むデータベースがあります。PHPを使用してブラウザに表示するためにデータベースにクエリを実行したとき、中国語の文字について取得したのは意味不明で読み取り可能な文字ではありませんでした。

私が試したこと: クライアント側の ini_set('mssql.charset', 'UTF-8') UTF-8 を指定するメタ タグが含まれていることを確認しました。

mssql サーバー言語は php を使用しています

どんな助けでも素晴らしいでしょう。ありがとう

4

2 に答える 2

1

私は昨年、中国人移民プロジェクトに取り組みましたが、注目すべき点をいくつか挙げることができます。

  1. DB データ型として NVARCHAR と NCHAR を使用していることを確認してください。VARCHAR/CHAR を使用しないでください
  2. 私は PHP をあまり使用していませんが、私が使用したほとんどの言語では、適切なロケールが設定/サポートされていることを確認する必要があります。

確認すべき点がいくつかあります。サンプルの .php ファイルに中国語のテキストを出力して、期待どおりに表示されていることを確認してください。次に、正しいデータ型でスキーマを更新します。最後に、テスト スクリプトを DB に向けて、データが期待どおりに表示されるかどうかを確認します。

于 2013-09-09T08:44:35.407 に答える
0

接続後、PHP ファイル内で文字セットを設定してみてください。次に、クエリを実行します。

<?php 
include('db_access.php');
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

mysqli_set_charset($dbc, "utf8");  // Set the character set here!!

$query = "SELECT chinese FROM my_table";
while ($row = mysqli_fetch_array($query)) { 
echo $row['chinese'].'<br />';
}  
?>

PHP マニュアル: http://cn2.php.net/manual/zh/mysqli.set-charset.php

于 2014-06-04T09:56:47.527 に答える