English 中文(简体)
如何显示日本字符在一个php页面?
原标题:
  • 时间:2009-03-20 16:47:45
  •  标签:

我试图一个PHP页面上显示日语字符。不从数据库加载,存储在一个语言文件和回声ed。

我遇到一个奇怪的场景。我有正常页面设置utf - 8和我在本地测试示例页面WAMP服务器和它的工作原理。

那一刻我测试出来我们的开发和生产服务器的字符不正确显示。

这使我相信,那么在php . ini中设置的。但是我还没找到这样的信息我不确定如果这是问题。

有什么基本我失踪吗?

谢谢

最佳回答

既然你已经表示,它在您的开发环境中工作,而不是在你的生活,你可能想检查Apache s < a href = " http://httpd.apache.org/docs/2.0/mod/core.html # AddDefaultCharset”rel = " noreferrer " > AddDefaultCharset < / >并设置utf - 8,如果它没有。

我倾向于确保以下步骤检查

  1. PHP Header is sent in UTF-8
  2. Meta tag is set to UTF-8 (Content-Type)
  3. Storage is set to UTF-8
  4. Server output is set to UTF-8

这似乎为我工作。希望这个有帮助。

问题回答

你必须提供的文件与适当的编码声明< a href = " http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html # sec14.17”rel = " noreferrer " > HTTP报头字段<代码>内容类型< /代码> < / >。

在PHP中你通过< a href = " http://docs.php.net/header " rel = " noreferrer " > <代码>头< / > < /代码>函数之前第一个数据被发送到客户端,所以最好的第一个语句:

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

    // the rest

首先,我认为相同的客户端机是用于测试。

所以,使用Firebug或自己的工具来检查你本地服务器的HTTP响应头,并比较他们与其他服务器生成的头文件。你毫无疑问会发现不同。

通常你的服务器响应中应该包括这样的标题:

Content-Type: text/html; charset=UTF-8

如果两个系统上的头看起来差不多,抓住的身体反应和负载在十六进制编辑器和寻找编码差异。

<强>试后(为我工作,CentOS 6.8, PHP 5.6) < /强>

#1
Apache Config

/etc/httpd/conf/httpd.conf
AddDefaultCharset UTF-8

#2
PHP Config

/etc/php.ini:
default_charset = "utf-8" >> default_charset = "Shift_JIS"

<强>注意:设置error_reporting = E_ALL & ~ E_DEPRECATED & ~代码< /强>

#3
html head meta

http-equiv =“- type”内容= " text / html;charset = Shift_JIS”





相关问题
热门标签