【问题标题】:How to save Russian characters in a UTF-8 encoded file如何将俄语字符保存在 UTF-8 编码文件中
【发布时间】:2013-02-02 08:12:10
【问题描述】:

好的,所以我有一个 PHP 文件,其中包含多个不同语言的文本字符串。对于大多数语言,如法语或西班牙语,我只需输入字符即可。

我遇到的问题是俄语字符。 PHP文件以UTF-8编码,我怎样才能确保俄语字符都正确保存并正确显示在输出网页上......它只是将文本粘贴到PHP文件中的一种情况,还是有没有办法保证字符被正确地保存到文件中——比如将其转换为类似 HTML 的符号?

显然我假设最终用户将在他们的网络浏览器中设置正确的编码,我只是想确保我从头到尾都涵盖了所有内容。

我在 Windows 上使用 Notepad++ 来编辑我的 PHP 文件。

谢谢!

【问题讨论】:

    标签: php utf-8 translate


    【解决方案1】:

    如果你想告诉浏览器你的编码,把它放在你的<header>标签中:

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

    或短版

    <meta charset='utf-8'>
    

    这应该足以让俄罗斯字符在网页上正确显示。

    【讨论】:

      【解决方案2】:

      如果您的 doctype 是 html,则声明 &lt;meta http-equiv='Content-Type' content='text/html; charset=UTF-8'&gt;,但如果您的 doctype 是 xhtml,则声明 &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;。

      永远不要假设最终用户会在您的设计过程中正确行事

      如果您已经有一些文档,编辑您文档的元标记以进行字符集声明并使用 notepad++ 编码>在没有 BOM 的情况下转换为 UTF-8,保存您的文档,从现在开始安全地继续使用您的多语言结构。

      php 标签与您的问题无关,因为您没有提及任何数据库字符设置。

      【讨论】:

      • 谢谢。这些字符串不存储在任何数据库中,只存储在 PHP 文件中,因此我没有提到任何关于数据库的内容。 :)
      【解决方案3】:

      UTF-8 中的拉丁字符和西里尔字符没有区别。两者都只是字节序列。配置你的服务器或者PHP脚本发送Content-Type: text/html;charset=utf,你就比较安全了。

      当您使用的字体不包含俄语字符时,您的编辑器可能会出现问题。然后选择另一种字体。

      请忽略&lt;meta&gt; 元素建议。你不需要那个:当你的 HTTP 标头正确时它是无用的,如果它们不正确可能有害。

      【讨论】:

        【解决方案4】:

        你必须检查两件事

        • 为了确保 *.php 是一个 UTF-8 文件,我使用了PSPad。如果文件不是 UTF-8,我保存 就是这样:http://stepolabs.com/upload/utf-8.png
        • 那么你的网站必须在&lt;meta&gt;标签中有UTF-8编码;

          &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;

          ...更多关于metatagging.

        最后,如果一切顺利——(格式和元声明)都应该正确显示!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-31
          • 2014-04-26
          • 2013-01-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多