0

MySQL データベースにクロアチア語の文字を挿入する必要があります。

ほとんどすべてのことを実行しましたが、クロアチア語の文字を挿入したいときにまだ問題があります。

私はこれまでに何をしましたか:

  1. クロアチア語の照合が表示されることを期待して、MySQL Server 5.6 をダウンロードしてインストールしましたが、見つかりませんでした...
  2. データベース全体と各列をUTF8のデフォルト照合に設定しました
  3. これをphpスクリプトに入れました:header("Content-Type: text/html;charset=utf-8");
  4. (cp1250、latin2-croatian-ciにすべてを設定する)などのすべての組み合わせを試しましたが、まだ運がありません

データベースに挿入される入力の一部は次のとおりです。æèæžšこれはćčćžšテスト用です...

次に何ができるか考えている人はいますか?この特定のタイプの問題に対する何らかの解決策があることを本当に願っています。

また、MySQL データベースでクロアチア語の文字について話しているとき、多くの人が私のように壁にぶつかっていたと確信しています。

編集: 挿入するためのコード (これはテスト用であるため、単純化されています)

<?php
header("Content-Type: text/html;charset=utf-8");
$con=mysqli_connect("127.0.0.1:3306","root","admin","test");

 if (!$con)
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

 $sql="INSERT INTO test(test) VALUES('ćčćžš')";
 if (!mysqli_query($con,$sql))
      {
            die('Error: ' . mysqli_error($con));
      }else 
      {
        print '<script type="text/javascript">alert("ok")</script>';
      }

    mysqli_close($con);
?>
4

2 に答える 2

3

UTF-8 文字を正しく読み取るには、次のようにテーブルを作成できます。

create table patient(
/* your columns  */
)character set utf8 collate utf8_unicode_ci;

set_charset('utf8')そして、phpに追加してデータを挿入/取得するには:

$mysqli=new mysqli($host,$user,$password,$database);
$mysqli->set_charset('utf8');
if(mysqli_connect_errno()){
    echo 'Could not connect to database. Error: '.mysqli_connect_error();
    exit();
}

$query="select * from YOURTABLE";
$result=$mysqli->query($query);

if($result->num_rows>0){
    while($row=$result->fetch_assoc()){
        //reading $row data
    }
    $result->close();
}

$mysqli->close();

また、html 文字セットを UTF-8 に設定することを忘れないでください。

<meta charset="UTF-8">
于 2013-03-07T07:45:44.490 に答える
3

クロアチア語の場合:

  1. データベース内のテーブルはutf8_general_ci.
  2. ファイルは として保存する必要がありますutf8 (without BOM)
  3. PHP でデータベースに接続した後、これを追加しますquery('SET NAMES utf8');
  4. ドキュメント<head>タグに を追加し<meta charset="utf-8" />ます。

テスト済みで動作します(クロアチア語の場合)。

ジヴィオ

于 2013-03-07T00:00:37.653 に答える