gpt4 book ai didi

php - 为什么我需要 mb_convert_encoding 来显示正确的字符

转载 作者:太空宇宙 更新时间:2023-11-03 10:56:54 25 4
gpt4 key购买 nike

我的网站设置了charset=UTF-8,mysql DATABASE也设置为UTF-8编码。

我的问题是,当我从 mysql 检索文本到网站时,我需要使用 php 函数 mb_convert_encoding(@db_field,'utf-8','iso-8859-1') 来正确显示文本。看起来系统认为 mysql 数据库在 iso-8859-1 中。

最佳答案

连接到数据库后立即运行:

mysqli_query("SET NAMES utf8"); /* or mysql_query */

将表的排序规则设置为 UTF-8 是不够的,您还需要指定(通过此查询)在 PHP 和 MySQL 之间通信时应该使用的编码服务器。
这里有更多详细信息:SET NAMES utf8 in MySQL?

确保 UTF-8 在任何地方的兼容性都非常棘手;我的 UTF-8 list 如下:

  • 确保每个源文件都保存为 UTF-8
  • 确保<meta charset="UTF-8" />出现在所有页面上
  • 确保每个数据库表都设置为使用 UTF-8
  • 运行 SET NAMES utf8连接到数据库后
  • 调用mb_internal_encoding("UTF-8")在脚本的开头并使用 mb_尽可能使用字符串函数

关于php - 为什么我需要 mb_convert_encoding 来显示正确的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19769103/

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