12

いくつかのテキストを含むテーブルがあり、テキストはギリシャ文字ですが、SQL ツールを使用してこのテーブルからデータを選択すると、正しく表示されます SQL クエリ結果の画像

しかし、mysql_fetch配列を使用してこれを私のサイトのフロントエンドに表示すると、エコーすると以下のように表示されます ここに画像の説明を入力

このエラーを修正する方法を知っている人は、ありがとう。

4

6 に答える 6

20

以下を試してください:

mysql に接続したら、次のクエリを実行して、UTF8 を使用していることを確認します。

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

HTML(ヘッド)で正しいエンコーディングを使用していることを確認してください。試してください:

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

これで問題が解決しない場合は、ISO-8859-1 などの別のエンコーディングを試してください。

于 2012-08-04T06:32:49.310 に答える
16

これを試して:

mysqli_set_charset($con, "utf8");

DBに接続した後。

于 2013-11-04T18:58:18.363 に答える
1

これを理解するまで、私は何時間も無駄にしました。

はじめに: mysql でギリシャ文字が正しく表示されませんでした。PHPでqxxxの回答を適用したところ、うまくいきました。その後、すべてを新しいホストに移行する必要がありましたが、問題が再発しました。

何が問題だったのですか?

MySQL のスキーマ文字セットはラテン語に設定されていました。ストアド プロシージャは、パラメータに MySQL のスキーマ文字セットを継承していました。

だから私がしたこと:

  1. MySQL のプロシージャ/関数を削除しました (必ずコードをバックアップしてください)

  2. MySQL のデフォルトの文字セットを変更しました (MySQL Workbench を使用して、データベース名を右クリックします - db アイコンがあります..)

  3. MySQLのプロシージャ/関数を再作成しました

また、qxxxの修正をそのまま残しました。

于 2013-08-30T12:29:40.757 に答える
1

テーブルなどを削除する必要はありません。MySQL Workbench を使用して、各テーブルに移動します。Collat​​ion を utf8 - デフォルトの照合または utf8 - 一般的な ci に変更します。次に、Varchar 型の各列に対して同じ操作を行います。ウィンドウの下部にあります。

于 2015-10-13T09:57:38.633 に答える
0

ギリシャ文字の実装中に同じ問題に直面しました。mysql_ のような解決策はうまくいきquery("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'");ませんでした。グーグルの後、データベース照合の文字セットは、greek_general_ciカテゴリ名などのデータが保存されるフィールドと一緒に作成する必要があることがわかりました。これで問題が解決しました。

于 2014-01-03T16:25:44.280 に答える