PHP 和 MySQL 的重音字符错误

2024-05-21

我的问题是,直接通过 PHP 编写的内容是正确重音的,但是当重音单词来自 MySQL 时,字母会像这样 �.

我尝试使用html charset as ISO-8859-1它修复了 MySQL 字母,但破坏了其他字母。解决这一切的一种方法是设置我的.php文件到ISO-8859-1,但我做不到,我需要用它utf-8 encode.

我能做些什么?


目前解决方案:包括mysqli_set_charset($link, "utf8");在查询之前(只需为每个建立的连接执行一次)。我仍在服务器上寻找最终的解决方案,而不是在客户端上。


EDIT:

mysql> SHOW VARIABLES LIKE  'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

mysql> SHOW VARIABLES LIKE  'collation%';
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+

mysql> show variables like "character_set_database";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| character_set_database | utf8  |
+------------------------+-------+
1 row in set (0.00 sec)

mysql> show variables like "collation_database";
+--------------------+-----------------+
| Variable_name      | Value           |
+--------------------+-----------------+
| collation_database | utf8_general_ci |
+--------------------+-----------------+
1 row in set (0.00 sec)

这些是我的数据库的值,但我仍然无法正确。

EDIT2:

<meta charset="utf-8">
...
$con = mysqli_connect('localhost', 'root', 'root00--', 'eicomnor_db');
$query = "SELECT * FROM table";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_assoc($result)) {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['nome'] . "</td>";
    echo "</tr>";
}
mysqli_close($con);

这是 PHP 代码。


首先,不要尝试按照 ISO-8859-1 的方向修改 php 文件,这会导致倒退,并可能导致浏览器的兼容性问题。相反,您希望自下而上遵循 utf-8 的路径。

  • 这 最容易检查的事情是确保您将 html 作为 utf-8 提供:AddDefaultCharset utf-8在你的 apache 配置中可能会有所帮助, 和<meta charset="utf-8">在你的 html header 中也会。

  • 要检查的第二件事是确保 mysql 连接和排序规则 使用 utf-8:http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html or http://docs.moodle.org/23/en/Converting_your_MySQL_database_to_UTF8 http://docs.moodle.org/23/en/Converting_your_MySQL_database_to_UTF8

  • 这 最后也是最烦人的一步是转换实际中的任何数据 数据库转为utf-8。首先使用标准 mysql 转储备份您的数据!有一些技巧可以简化此过程,方法是将数据库创建为 utf-8 转储,然后使用正确的排序规则将其放回到系统中,但请注意,这是一个微妙的过程,并确保您有可靠的备份先一起工作吧!http://docs.moodle.org/23/en/Converting_your_MySQL_database_to_UTF8 http://docs.moodle.org/23/en/Converting_your_MySQL_database_to_UTF8是该过程的一个很好的指南。

祝你好运!旧数据库的字符集问题通常比最初出现的情况要复杂得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 和 MySQL 的重音字符错误 的相关文章

  • Nusoap“SOAP-ENV:Xml 为空,未解析”消息

    我正在尝试使用 nusoap 实现一个简单的网络服务 服务器
  • MySql - 复制监控工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个主 从 MySql 复制 我正在寻找一个允许我监视复制的工具 查看它没有错误 检查滞后等 我更喜
  • 使用php将cmyk转rgb

    我正在使用以下脚本将图像保存在文件夹中 但有一张图像显示此消息 图像无法显示 因为它包含错误 我认为问题出在图像上称为 cmyk 和 rgb 的东西 但是当在网上搜索使用 php 将 cmyk 转换为 rgb 的方法时 我找不到如何执行此操
  • Galera 集群问题

    我想在我们的生产环境中使用Galera集群 但我有一些顾虑 每个表必须至少定义一个显式主键 每个表必须运行在InnoDB或XtraDB存储引擎下 分批处理您的大额交易 例如 不要让一个事务插入 100 000 行 而是将其分成更小的块 例如
  • php 中的 cpu_get_usage ?

    我创建了一个基准类 允许用户插入例如 timer gt checkpoint 1 检查一些代码的时间 内存消耗等 如果她 他想测试它 她 他必须在代码末尾插入 result timer gt result 这会向公共函数 result 提供
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • 在 C# 中,当有人插入、删除或修改记录时,如何从 MySQL 获取事件?

    我正在 WPF Net 中开发一个程序 我需要知道何时有人对数据库的任何表进行更改 这个想法是在数据库发生更改时从数据库接收一个事件 我读了很多文章 但找不到解决我的问题的方法 亲切的问候 最好的解决方案是使用消息队列 在您的应用程序向数据
  • 编写apache环境变量并在php脚本中读取它们

    我有一个index php 文件正在运行一些发出mysql 请求的脚本 出于明显的安全原因 我想从此脚本中删除 mysql 凭据 主机 密码 用户 数据库 并将它们替换为一些 apache 环境变量 我尝试使用以下代码行在 etc apac
  • JqG​​rid PHP:通过工具栏过滤时突出显示结果

    我想在使用过滤器工具栏时突出显示搜索结果 我尝试使用该解决方案Oleg https stackoverflow com users 315935 oleg and 阿布舍克 西蒙 https stackoverflow com users
  • 对于每个...休息

    每次我 打破 for each 结构 PHP Javascript 时 我都感觉很脏 所以像这样 JavaScript 示例 for object in objectList if object test true do some proc
  • 使用 PhpSpreadsheet PHP 设置单元格边框样式

    我使用 PhpSpreadsheet 来读取或写入 Excel 文件 我想向我的 Excel 添加边框样式 所以我使用了以下代码
  • Zend Framework:检查 Zend View Placeholder 是否已设置

    如何在回显之前检查 Zend View 占位符是否已设置 因为我想在输出之前在它前面添加 I tried echo isset this gt placeholder title this gt placeholder title 但我得到
  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • Python 结构的 PHP 替代品

    我很高兴在我的 Python 项目中使用 Fabric 进行部署 现在我正在从事一个更大的 PHP 项目 想知道是否有类似 PHP 的 Fabric 之类的东西 唔 为什么这有关系 Fabric 只是 python 脚本 所以它与项目语言无
  • 如何更新 Laravel 编辑视图中的图像?

    在 Laravel 中 我的编辑视图中有一个名为 个人资料图片 的字段 每当我单击 编辑 按钮时 我都会在编辑视图中从数据库中获取所有值 但没有获得图像 并且如果每当我每次单击 提交 按钮时 我都必须如果没有上传图像 我无法进一步处理我想要
  • PHP Amazon SDK,S3 存储桶访问被拒绝

    我第一次尝试使用 PHP AWS SDK aws aws sdk php 3 19 来使用 S3 我创建了一个存储桶 myfirstbucket jeremyc 我制定了一项政策 Version 2012 10 17 Statement E
  • PHP - 获取类公共变量?

    请考虑下面的代码 class A public function construct class B extends A public a a public b b public c c 如何从父类中获取 B 类的公共变量而不确切知道它们是
  • Laravel - 保存在存储文件夹中的图像不向用户显示

    我有这段代码可以将图像保存在 storage app uploads 文件夹中 image main Image where property id id gt get file request gt file file destinati
  • Laravel http 请求:无法运行多个请求

    我在 Laravel http 请求方面遇到了严重的问题 请帮我解决这个问题 我假设我有 2 个请求路由到相同的控制器 Req 1 http localhost 8000 manualScheduler runScript task nam
  • slim 3 php 应用程序无法在 CentOS 上运行 nginx 访问被拒绝可能是由于 session_start() 函数

    我最近一直在努力在 macOS 上的 virtualbox 上的 CentOS 7 上安装最新的 nginx 1 14 php 7 2 5 和 mariaDB 10 3 7 php终于可以工作了 我已经测试过了php info index

随机推荐

  • 将 GMT 日期时间转换为本地日期时间

    我有一个 GMT 时区的日期时间值 如何将其转换为我当地的时区 我希望有一个功能可以实现这一点 请注意 由于是夏季 我不能只添加或减去差异 例如 该函数可以这样工作 data null gmtdatetime 17SEP14 09 42 1
  • 如何在jquery.repeater中仅在slideUp完成后执行下一个代码

    这是原始代码 this slideUp deleteElement itemRemove 上面的代码在 SlideUp 完成之前调用 itemRemove 所以我使用了如下回调函数 this slideUp deleteElement fu
  • 在用户窗体终止/关闭 VBA 时调用数组

    我有一个问题 我想在用户窗体关闭时将用户窗体的内容存储在数组中 我认为我的语法正确 但似乎不会在用户窗体初始化时重新填充 我尝试将数组放入其自己的模块中 但这也不起作用 有人愿意启发我吗 示例代码 Public Sub DPArrayStu
  • 如何动态更新 ttk.combobox?

    我正在 Windows 8 计算机上使用 Python 3 4 和 Tkinter 创建 GUI GUI 顶部有一些条目输入 然后是一些组合框 我希望组合框从先前输入描述的文本文件中获取选项列表 文件名 找到必要信息的行 分隔符类型等 我正
  • Google App Engine - 节点:找不到模块“firebase-admin”

    第一次在这里部署 GAE 应用程序 我尝试遵循本教程 https firebase googleblog com 2016 08 sending notifications Between android html https fireba
  • 使用 CQRS 处理中介管道中的错误/异常?

    我正在努力追随这个帖子 https lostechies com jimmybogard 2014 09 09 tackling cross cutting concerns with a mediator pipeline 由 Jimmy
  • 如何向命名元组添加字段?

    我正在处理命名元组列表 我想在创建每个命名元组后添加一个字段 看来我可以通过将其作为属性引用来做到这一点 如namedtuple attribute foo 但随后它不会添加到字段列表中 如果我不对字段列表执行任何操作 是否有任何理由不应该
  • Android Facebook sdk 3.5 分享对话框

    您好 我正在为 android sdk 3 5 实现 facebook 共享对话框 但是我按照指南没有取得任何成功 FacebookDialog shareDialog new FacebookDialog ShareDialogBuild
  • 无法显示由 Fine-uploader 上传到 Amazon s3 的图像

    我现在尝试设置fineuploader s3以显示在aws服务器上成功上传的文件的图像 如示例页面上所做的那样 http fineuploader com s3 demo http fineuploader com s3 demo 我 仍然
  • “#define for if (false) {} else for”的可能用途是什么?

    在另一个问题中 我刚刚发现了这个小珍珠C wisdom define for if false else for 这导致 MSVC 对于一个相当有效的语句发出 常量表达式 警告 for int i 0 i lt 10 i 我明白whyMSV
  • 替换C#字符串中的数字

    我正在尝试使用正则表达式对字符串进行一些工作 但遇到了一些困难 我的目标是用字符替换字符串中的数字 特别是如果字符串中有一组数字 我想用一个字符替换整个数字组 如果只有一个数字 我想将其替换为 例如 如果我有字符串 test12345 tx
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • 根据类别 woocommerce 更改同一产品的默认变体值

    我正在研究一种根据其所属类别显示同一产品的默认变体值的方法 例如 我出售一张带有蓝色和红色选项的卡 当用户进入 一 类别时 我希望默认值为蓝色 如果他属于第二类 则该值将为红色 我发现了一个钩子woocommerce product def
  • 如何将接口转换为接口切片?

    我的输入是interface 而且我知道它可以是任何类型的数组 我想读取我输入的元素之一 所以我尝试将我的interface 进入一个 interface 但是 go 会给我以下错误 恐慌 接口转换 interface 是 map stri
  • 将视图文件作为资源嵌入二进制文件中

    我正在尝试创建一个带有少量控制器的 Net 库 并且我想在多个 Web 项目中重用它们 我已经完成一半了 但我遇到的问题是 每当我将库添加到新的 Web 项目时 我需要将所有相应的视图文件单独复制到新项目中 每当我更新库时 我都需要再次重复
  • 使用来自另一个的 SELECT 更新表,但字段为 SUM(someField)

    基本上我有这样的事情 UPDATE Table SET Table col1 other table col1 FROM Table INNER JOIN other table ON Table id other table id 问题是
  • iphone opencv - 模板匹配

    我已经在我的 iphone 项目中实现了这个 OpenCV 构建 http aptogo co uk 2011 09 opencv framework for ios http aptogo co uk 2011 09 opencv fra
  • PHP别名@函数

    我是 PHP 新手 看到一些使用 前缀调用函数 如 mysql ping 的示例 我感到很困惑 它是做什么用的 谷歌搜索 搜索没有太大帮助 因为 被丢弃并且 别名 不是足够好的关键字 抑制错误 警告和通知 如果你用自定义的方式补充它 你可以
  • Android 中的 java.util.Observable 是线程安全的吗?

    Android 中的 java util Observable 是线程安全的吗 这文档 http developer android com reference java util Observable html说只有deleteObser
  • PHP 和 MySQL 的重音字符错误

    我的问题是 直接通过 PHP 编写的内容是正确重音的 但是当重音单词来自 MySQL 时 字母会像这样 我尝试使用html charset as ISO 8859 1它修复了 MySQL 字母 但破坏了其他字母 解决这一切的一种方法是设置我