php - UTF-8 未按应有的方式表示数据

标签 php mysql database utf-8 character-encoding

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

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

到目前为止我做了什么:

  1. 我已经下载并安装了 MySQL Server 5.6,希望我能看到 Croatian 排序规则,但我找不到它...
  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);
?>

最佳答案

要正确读取 UTF-8 字符,您可以像这样创建表格:

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

并通过在 php 中添加 set_charset('utf8') 来插入/检索数据:

$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">

关于php - UTF-8 未按应有的方式表示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15260537/

相关文章:

PHP重命名代码中的所有变量

php - 如何使用 PHP PDO 在 mySQL 中插入多行 JSON 对象数据?

php - 为什么 PHP pear 即使使用正确的包含路径也不能工作?

php - mysql文件上传链接

android - 将离线 SQLite 数据库与在线 MySQL 数据库同步

sql - 如何从表列中删除唯一约束?

php - MYSQL 将输入值存储在一行或多行中

database - 通过BLOB在SQLite数据库中存储很小的音频/图像文件?

php - mysql 查询波斯语和阿拉伯语字符的问题

mysql - 将重复值设置为 0,同时保留第一个值