【问题标题】:Fix Turkish Charset Issue Html / PHP (iconv?)修复土耳其字符集问题 Html / PHP (iconv?)
【发布时间】:2011-02-25 21:33:16
【问题描述】:

我在显示土耳其字符时遇到问题,它们在 html 中显示为带有菱形背景的小问号。

如何使用 iconv 来解决这个问题?既然我认为那是最好的选择,对吧?现在我的页面是 utf-8 编码的。

我需要支持这样的字符

我 ñ s

以及能够将它们插入到我的数据库中。

谢谢

【问题讨论】:

    标签: php character-encoding iconv turkish


    【解决方案1】:

    首先我尝试,utf8编码解码,失败, 将文件格式从 ASCII 更改为 UTF-8, 再次尝试了utf编码, 多次更改文件格式并失败。

    然后我发现了“iconv”,尝试并失败了。 使用“setlocale”更改了语言环境。尝试了土耳其语、英语等类型,失败了。

    最后我写了这个函数,我对输出很满意:)

    function transliterateTurkishChars($inputText) {
        $search  = array('ç', 'Ç', 'ğ', 'Ğ', 'ı', 'İ', 'ö', 'Ö', 'ş', 'Ş', 'ü', 'Ü');
        $replace = array('c', 'C', 'g', 'G', 'i', 'I', 'o', 'O', 's', 'S', 'u', 'U');
        $outputText=str_replace($search, $replace, $inputText);
        return $outputText;
    }
    $goodText=transliterateTurkishChars($badText);
    

    【讨论】:

      【解决方案2】:

      通过使用解决它

      iconv("ISO-8859-1", "UTF-8", $text);
      

      【讨论】:

        【解决方案3】:

        虽然这通常是正确的,但如果 $text 包含一些土耳其字符,如“Çınar”,除非您的环境设置为在土耳其语言环境下工作,否则转换将失败。

        如果您可能需要在 php 中设置区域设置,如下所示;

        setlocale(LC_ALL, 'tr_TR');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-29
          • 1970-01-01
          • 1970-01-01
          • 2012-01-02
          • 1970-01-01
          相关资源
          最近更新 更多