gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 00:25:23 27 4
gpt4 key购买 nike

我需要在 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com