【问题标题】:PHP Turkish Language displaying issuePHP土耳其语言显示问题
【发布时间】:2013-08-21 13:38:16
【问题描述】:

我一直在尝试在 PHP 中显示我的文本,但我遇到了土耳其字符的问题,它显示为 ıııööö

我正在从 MySQL 读取数据,但问题来自 PHP。请问缺少什么?

我的代码很简单:

<?php

echo "ş i ü ğ";

?>

【问题讨论】:

  • UTF-8 all the way through的可能重复
  • 将文件保存为 UTF-8 编码
  • 您的文件可能保存为 UTF-8,但您的网页可能通过编码(例如 ISO-8859-1)以单个格式输出。最好的办法可能是将页面的编码也更改为 UTF-8。
  • 作为TOP GUNS之一总是提到这类问题,你的编码必须从A to Z开始,从文件的编码格式开始,一直到DB插入/检索,主要是@987654325 @.

标签: php


【解决方案1】:

检查您的网站是否为 UTF-8。

只需将以下代码复制到您的documment&lt;header&gt; 标记中:

<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>

或者您可以根据HTML5 使用较短的版本。 Compatibility is fine:

<meta charset='utf-8'> 

查看这两个metatags的区别:<meta charset="utf-8"> vs <meta http-equiv="Content-Type">

或者你可以使用标题。此代码放入您的PHP code。最佳位置在document 的开头。

header('Content-Type: text/html; charset=utf-8');

或者检查您的文件是否在UTF-8 中。您可以使用代码编辑器完成此操作。我用PSPad,推荐试试。

【讨论】:

  • header(...) 应该立即生效并给出正确的结果。
  • 我以前试过这个,你能解释一下我将在哪里使用它吗?我对网络服务了解不多。
  • 我刚刚添加了 header('Content-Type: text/html; charset=utf-8');
【解决方案2】:

除了元头,文件本身的字符编码也很重要。我在 Windows 中使用 notepad++ 和 notepad 生成的文件也遇到了同样的问题,然后我将文件保存为 UTF-8,一切都解决了。

例如:使用 Sublime Text;文件/使用编码/UTF-8 保存。

【讨论】:

  • Notepad++ 不应该“制造”问题,这与 Windows 记事本不同。 Notepad++ 有不同的编码方式。我一直在成功使用 Notepad++。
  • @Fred-ii- 我不知道,我是 PHP-Fusion 到土耳其语的主要翻译,几年前 Notepad++ 让我遇到了这个问题(我不得不输入所有土耳其字符的 ascii 等价物)。不过我不知道现在的情况。
  • 保存有或没有 BOM 可能是其中一个原因。这对我来说在很多情况下都有所不同。有人应该考虑过使用这样的角色即将出现的问题,这是多么令人头疼的事情:(这是一场持续不断的战斗。
  • @Fred-ii- 在那次混乱之后我使用 PHPDesigner 有一段时间了,但我完全放弃了 Windows 环境进行开发(我个人很高兴!)。作为当前的 Linux 用户,Sublime Text 完全适合我的需要,不过谢谢!:)
  • 不客气 :) 如果我知道我现在所知道的,我会很乐意使用 Linux 而不是 Windows。哦,好的,已经完成的。干杯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多