0

我需要在 MySQL 数据库中插入克罗地亚语字符。

我已经完成了大部分工作,但是当我想插入一些克罗地亚字符时仍然遇到问题。

到目前为止我做了什么:

  1. 我已经下载并安装了 MySQL Server 5.6,希望我能看到克罗地亚排序规则,但我找不到它......
  2. 我已经在 UTF8-default 排序规则上设置了整个数据库和每一列
  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

对于克罗地亚语:

  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 回答
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 回答