【问题标题】:Special characters does not work on server特殊字符在服务器上不起作用
【发布时间】:2018-07-05 06:36:40
【问题描述】:

对于来自数据库的值,我有一些特殊字符,例如 æ 和 Ø。当我在 XAMPP 和在线上使用 phpmyadmin 检查数据库时,它是这样显示的:

但在处理后的 PHP 页面中,在本地显示正常,但在服务器上却不行。所以基本上,在线版本存在一些问题,导致这些值无法正确显示。

我的头部已经有了这个:

<meta http-equiv="content-type" content="text/html;charset=UTF-8" />

在我的 .htaccess 文件中:

AddDefaultCharset UTF-8
DefaultLanguage en-US

数据库的排序规则是latin1_swedish_ci,我尝试将其切换为utf-8,但没有帮助。

【问题讨论】:

  • 在你的 php 文件中使用: header('Content-Type: text/html; charset=utf-8');在 mysql 中更改 - collat​​ion-server=UTF-8_general_ci
  • @Tom 我已经尝试了上述方法,但还是一样。一个问题,现在数据库排序规则改为UTF-8_general_ci,但是表还在latin1_swedish_ci,我是不是也要改?
  • @Tom 把每张桌子都改成了 utf-8,还是没修好...
  • @Tom - 您是否将 更改为 utf8(或 utf8mb4)?连接参数呢?

标签: php mysql utf-8 special-characters


【解决方案1】:

即“Mojibake”,其中,例如一个2字节的UTF-8字符

如果我没记错的话,你的例子与文本不一致。当通过 latin1 映射错误时,以下 utf8 字符映射到匹配的 2 字符对。

ü  ü
ö  ö
Ø  Ø
æ  Ã¦

更多病因及治疗方法:Trouble with UTF-8 characters; what I see is not what I stored

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多