php - 如何在 PHP 中使用其他语言的 echo 或 print

标签 php mysqli

我在 hostinger.in 中创建了帐户并创建了一个将从数据库表中获取内容的 php。人们说我的问题与 this 重复题。

Things i tried from this question which you are saying as duplicate

他们提供的是在数据库中的所有表和文本列上指定 utf8mb4 字符集。但我的问题在这里有所不同。我已经在表中指定了我的编码。但是在 php 中打印时,它也没有正确显示结果。

他们提供的另一件事是使用下面的代码

$mysqli->set_charset('utf8mb4');       // object oriented style
mysqli_set_charset($link, 'utf8mb4');  

我也用过,但是没有输出。


这是我的 db.php

<?php

$con=mysqli_connect("HOST","mysql","mypass","u558167714_mydb");

if(!$con)
{
echo "Connection error... ".mysqli_connect_error();
}
else
{
echo "Connection Successful..."
}
?>

还有我的 index.php

<?php
require_once 'db.php';
$query =  "SELECT * FROM quotes LIMIT 1";
$result = mysqli_query($con, $query);
while($row = mysqli_fetch_array($result)){
print(json_encode($row['quote']));
}

?>

我数据库中的实际内容是This is தமிழ்

但是我收到的是 "This is\u0ba4\u0bae\u0bbf\u0bb4\u0bcd "

This是我的网址。

我看到了很多与我相似的问题,并尝试了以下命令,

mysqli_set_charset($this->mysqli,"utf8"); or
mysqli_set_charset($conn,"utf8");

但我没有得到正确的输出。

我实际上如何设置我的字符集以获得我的输出。

最佳答案

你为什么还要调用 json_encode()? 数据库中显然有一个有效的字符串,然后你将其编码为 JSON,是的......会将非 ascii 字符转换为 \uXXXX 转义序列。如果您的消费者是 Javascript 代码(或其他使用 JSON 的代码),您就会这样做。您只是在浏览器中查看它,因此您应该将其输出为 HTML(纯文本恰好是 HTML 的子集)。

只需执行:print $row['quote'];

或者更好的是,让您习惯安全:

print htmlentities($row['quote'], ENT_QUOTES, 'UTF-8');

关于php - 如何在 PHP 中使用其他语言的 echo 或 print,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34339567/

相关文章:

php - 将 php POST 数组分配给 Javascript 数组

php - 检查 ID 是否已经在数据库中,如果是,请不要再次插入它

php - MySQLi重定向问题

php - WP - 尝试使用 `wp_dropdown_users( )` 作为自定义用户配置文件字段

javascript - 如何在 Cakephp 的模型或 Controller 中调用 javascript 函数?

php - 如何查看在 codeigniter 中具有相同字段名称的连接表中的数据

PHP/ session : Login one per user?

php - 从 MYSQL 更新到 MYSQLI

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 使用存储过程 : different results in mysqli->query ("CALL select_procedure") VS mysqli->query ("SELECT ...")