1

私は英語とヘブライ語のビデオを表示している API を持っています。ヘブライ語で書かれたタイトルが「??」の代わりに表示されないことを除いて、すべて正常に実行されています。何か案が ??

4

3 に答える 3

4
  1. headタグの間に<meta charset="UTF-8" />を追加して、UTF-8 を提供していることを確認してください。

  2. データベースの内容が UTF-8 であることを確認してください。UTF-8 でない場合は、次のように、データベース データをデータベースで使用されているエンコーディングから UTF-8 に変換してから、Web ブラウジング クライアントにプッシュする必要があります。 8"、" DATABASE-ENCODING-USED "); 詳細と例: http://php.net/manual/en/function.mb-convert-encoding.php

両方のいずれかが問題の解決策になります。

アップデート

とてつもないかもしれませんが、ブラウザがヘブライ語のフォント タイプも表示できることを確認してください。

実際、データベースをどのようにチェックするか (クライアントまたはブラウザーを介して) を教えてくれませんし、表示をテストする方法もわかりません。

デバッグ作業で「隠れた」エラーを回避するには、次のコードを試してください。

<?php
/*
    Make sure the web browser receives a header telling it there's UTF-8 inside.
*/
header('Content-Type: text/html; charset=UTF-8'); 
/*
    Write a title that will display correctly
    if there's no font-related issue in your browser.
*/
echo('<h1>זהו מבחן.</h1>');
/* 
    Now connect to database, 
    and use a simple SELECT to fetch something from the database.

    Replace YOUR-MYSQL-USERNAME, YOUR-MYSQL-PASSWORD and YOUR-MYSQL-DATABASE
    with your individual values...
*/
$dbh = mysql_connect("localhost","YOUR-MYSQL-USERNAME","YOUR-MYSQL-PASSWORD");
if(!$dbh)
{
    exit('Could not connect: ' . mysql_error());
}
$result = mysql_query('SELECT * FROM YOUR-MYSQL-DATABASE LIMIT 1',$dbh);
mysql_close($dbh);
/*
    Now dump it nicely to the screen and exit.
*/
echo('<pre>');
var_dump($result);
echo('</pre>');

exit();
?>

それは問題を突き止めるのに役立ちます。

ヘブライ語のフォントがうまく表示されない場合は、おそらくフォントとブラウザーの問題です。

それ以外の場合、データベースは UTF-8 ではなく、*mb_convert_encoding* などを使用して変換する必要があります - 上で説明したように。

于 2012-07-31T15:30:47.100 に答える
0

データがデータベースから取得されている場合は、正しいエンコーディングで取得していることを確認する必要があります。可能であれば、クエリの前に SET NAMES クエリを実行する必要があります (DB の照合に応じて、SET NAMES 'utf8' または SET NAMES 'hebrew' のいずれか)。

于 2012-07-31T10:33:34.890 に答える
0

それらを受け入れるために HTML ドキュメントをエンコードしましたか?

<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />

<html lang="he">
...
</html> 
于 2012-07-31T07:50:15.777 に答える