【问题标题】:UTF8 doesn't work in swedishUTF8 在瑞典语中不起作用
【发布时间】:2013-10-27 01:47:29
【问题描述】:

我有一个瑞典网站,每当我在代码中写 åäö 时,它都会在网站上显示为 åäö,但是当我在数据库中输入 åäö 时(例如“描述”列中的文本),它会输出一个网站上带有问号的正方形。

我试过了

<meta http-equiv="content-type" content="text/html" charset="UTF8" />

<?php header("Content-type: text/html; charset=utf-8");?>

SET NAMES 'utf8'

还有所有可能的字符集(感觉像),但它不起作用。

MySQL 连接排序规则是 utf8_bin,表列的排序规则是 utf8_swedish_ci。 帮忙?

编辑: 如果我编辑 php.ini 文件以具有

default_charset = "utf8_unicode_ci"

并将元数据更改为

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

åäö 显示正确,但文件中代码中的 åäö 显示为 ä。

EDIT2:嗯,mysqli_set_charset($connection, 'utf8');解决了我的问题。

【问题讨论】:

  • 也许您正在使用strtolower() php 函数进行保存。它确实会损坏日耳曼变音单词。

标签: mysql character-encoding


【解决方案1】:
  1. &lt;meta http-equiv="content-type" content="text/html" charset="UTF8" /&gt; 错误。应该是UTF-8

  2. 不要使用set names。请改用mysql_set_charset('utf8',$db);

  3. 检查您的表格是否有正确的编码。

  4. 检查您的源代码文件是否为UTF-8 编码。

PS。请注意,排序规则与编码不同。您需要设置表编码,而不是排序规则。排序规则与正确的输出编码无关。

【讨论】:

  • 1.仍然不起作用 2.(无法正常工作) 3.所有表都有排序规则 utf8_general_ci 4.源代码文件是 UTF-8 (添加了对问题的编辑)
  • 请注意,排序规则与编码不同。您需要设置表编码,而不是排序规则。排序与正确的输出无关。
猜你喜欢
  • 2016-05-08
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
  • 2012-02-24
相关资源
最近更新 更多