【问题标题】:phpmyadmin and PHP; can't insert strings with accents like à, è, ì, é, úphpmyadmin 和 PHP;无法插入带有 à、è、ì、é、ú 等重音符号的字符串
【发布时间】:2016-12-26 15:05:28
【问题描述】:

我正在使用 mysql_query 插入几个变量。不久前,这一切都完美无缺,但现在当字符串中有一个像 á 这样的特殊字符时,一些变量似乎没有进入 phpmyadmin 数据库。它根本不会在 phpmyadmin 的正确列中显示任何内容。其他变量虽然存储正确。

数据库中的所有排序规则都是utf8_general_ci。我尝试将其更改为 utf8_unicode_ci。这导致字符串 'á' 显示有奇怪的字符,例如 á。我尝试过的其他一些事情:

添加<meta charset="UTF-8">

添加<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

我找不到任何解决方案。如果你们有什么能想出的,我想听听。

提前致谢。

【问题讨论】:

  • 我刚刚完成了对您的问题“用于查找数学表达式以产生答案的递归函数”的工作答案,但它现在以某种方式被删除了。你能再发一次,这样我就可以为你发布我的答案了吗?
  • @blhsing 我不得不删除它,因为他们似乎把问题搁置了。不知道为什么,但它只是被否决了。你介意把代码发给我吗?我真的很感激!
  • 我明白了。它被否决是因为您没有提供任何显示您的努力的代码,但通常如果有人已经提供了有效的答案,那么人们就不会投反对票。我更喜欢公开我的答案,所以你会尝试再次发布你的问题,我会很快发布我的答案吗?在接下来的几个小时里,我会在我的电脑前。现在是周末,所以看和投票的人少了很多,所以我很有可能在足够多的人投票反对之前发布我的答案。发帖后在这里给我写消息。
  • 为方便起见,这是您的问题:假设我们有以下列表:[5,3,4,8] 我们应该找到用于产生答案 16 的正确数学表达式,仅使用:+、-、* 和 /。在每个步骤中,您只使用最左边的两个术语。不遵守所有其他运算符优先级规则。递归函数如何解决这个问题,输出为:['+', '/', '*'](解释:5 + 3 = 8, 8 / 4 = 2, 2 * 8 = 16)?
  • 顺便说一句,如果您在决定寻求帮助之前包含您可能拥有的任何代码,那当然会很好。但同样,如果你不这样做,我也没关系。

标签: php mysql utf-8 phpmyadmin


【解决方案1】:

á 是当您在重音字母上调用htmlentities 两次 时会发生什么!

数据可能在输入时被错误编码;让我们看看SELECT col, HEX(col) FROM ... 中讨论的here。然后看看剩下的 Q&A 是否回答了你的情况。

【讨论】:

    【解决方案2】:
    mysql_real_escape($yourvariable) 
    

    【讨论】:

    • 也添加一些解释。仅仅 1 行代码对读者帮助不大。
    • 不要提倡mysql_*,它正在从PHP中删除。这对这种情况无济于事。
    猜你喜欢
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 2021-08-11
    • 2016-11-13
    • 2017-04-16
    • 2020-11-01
    • 2012-04-26
    相关资源
    最近更新 更多