gpt4 book ai didi

php - 如何在php中正确显示另一种语言的mysql表数据

转载 作者:行者123 更新时间:2023-11-29 06:21:45 24 4
gpt4 key购买 nike

我有一个 mySQL 表,其中一列中的数据采用英语以外的语言。(波斯语)当我在表中输入数据时,它会正确显示,但是当我想在 php 文件中显示数据时,它会显示如下:???好吧,我应该怎么做才能以正确的形式显示数据?

最佳答案

由于我经常使用“非英语”字符,因此要正确显示和存储这些字符需要做一些事情。

排名不分先后(因为我不知道哪种字符集最适合波斯语,我将使用 UTF-8,如果不同,您只需使用您需要的字符集):

通过 PHP header('Content-type: text/html; charset=utf-8'); 设置正确的 header ,告诉您的浏览器您正在使用什么字符集。或者在 html 中设置元标记,如下所示:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

在数据库中,避免在列/表中混合不同的排序规则和字符集。我总是将数据库、表和列设置为 utf8_general_ci,它始终可以满足我的需求(英语、德语、塞尔维亚语、匈牙利语等语言...)。

正如 Jan 所说,请阅读 http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html您很可能需要执行类似 SET NAMES utf8 的查询连接到数据库后。

所有这些都应确保 unicode 字符的正确显示。然而,还有一件事可以覆盖这一切——网络服务器。 Apache(不知道其他服务器)有一个 AddDefaultCharset 指令。在大多数设置中,此选项保留为“关闭”,但我确实遇到过默认字符集设置为 latin1 的设置,从而覆盖了我的所有字符集设置。如果已设置,则在 httpd.conf(或类似的配置文件)中设置。如果您有权访问它,我建议将其设置为“关闭”。如果不这样做,那么您可以使用放置在 webroot 中的 .htaccess 覆盖全局值,例如: AddDefaultCharset utf-8

关于php - 如何在php中正确显示另一种语言的mysql表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3021769/

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