【问题标题】:UTF-8 and ÅÄÖ special characters PHPUTF-8 和 ÅÄÖ 特殊字符 PHP
【发布时间】:2013-03-30 08:42:12
【问题描述】:

您好,看看这张照片:http://ctrlv.in/175196,您可以看到 ÅÄÖ 被替换为 �。

我在 php 的最顶端有这个:<meta http-equiv="content-type" content="text/html; charset=utf-8"></meta>

当我查看源代码时,它确实是 utf-8 - 那为什么它们不能正确显示呢?

【问题讨论】:

  • 您的文件未保存为 utf-8
  • 是什么让您认为您的文件是 UTF-8?使用字符äåö 并写入"this file is utf-8"(元标记就是这样)不会使文件变成UTF-8。
  • ctrlv.in/175198 我以为我通过这些设置清除了这些?是规范化形式的东西吗?
  • @EmanuelOlsson 好的,但是令牌来自哪里?如果不在数据库中,客户姓名数据写入哪里?我想你可以用谷歌搜索 PHP IDE(集成开发环境),我没有特别的建议,但它们应该比 HTML 编辑器更适合 PHP
  • @EmanuelOlsson 等等,你是如何操纵它的?标准的 PHP 字符串函数可能会破坏 UTF-8 编码的字符串,例如 substr。您是否还验证了 Paypal 以 UTF-8 格式发送给您?

标签: php utf-8 special-characters


【解决方案1】:

当您看到 UNICODE REPLACEMENT CHARACTER 时,这意味着您的文本被解释为 UTF-8(或其他 Unicode 编码),但文件中的一个字节序列在这个编码。

换句话说,该文件是 UTF-8 编码的。

【讨论】:

  • ctrlv.in/175198 我以为我通过这些设置清除了这一点?它与标准化形式有关吗?我应该尝试将其设置为无吗?
  • 不,您只需要在文本编辑器中将文件实际保存为 UTF-8。我不知道如何在 Dreamweaver 中执行此操作,请查阅帮助或使用真正的编辑器。 ;-P 也许阅读Handling Unicode Front To Back In A Web AppWhat Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text 以获得更多帮助/信息。
  • 好吧,我尝试下载 Notepad++,但其中的编码已经是没有 bom 的 utf-8。尝试更改为另一种编码,然后返回并上传。没有变化。
  • 如果数据确实不是来自文件本身,而是通过代码插入,正如问题的 cmets 所揭示的那样,那么这取决于您如何准确地处理来自 Paypal 的数据。没有更多细节就帮不上忙了。
【解决方案2】:

试试这个。

iconv('windows-1250', 'utf-8', $your_variable); 

如果这是来自查询之前的 sql 查询 set_charset('utf8')

【讨论】:

    【解决方案3】:

    使用 notepad++ 尝试在没有 bom 的情况下编码 utf-8

    【讨论】:

    • 我正在尝试那个自动取款机,但没有任何变化。
    猜你喜欢
    • 2011-12-21
    • 2011-10-27
    • 2013-01-24
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多