csv到php:重音字母?

时间:2014-04-14 16:20:06

标签: php csv utf-8 non-ascii-characters

我有一个页面,其中有一部分用PHP将.csv表格转换为html。但是,我的重音字母有问题。实际上,即使页面设置为

,也不会显示这些内容
meta http-equiv="Content-Type" content="text/html; charset=utf-8"

csv文件以utf-8编码。

未经php处理的其他部分显示重音字母没有问题。 我应该在php中添加一个字符串来转换它们吗?

非常感谢你,

斯特凡诺

2 个答案:

答案 0 :(得分:0)

您可以尝试这一点,如果您的问题得到解决,请告诉我们:

$string = (isUtf8($string))? $string : utf8_encode($string);

function isUtf8 ($string)
{
    //regex modified from http://www.w3.org/International/questions/qa-forms-utf-8.en.php
    return preg_match('%^(?:
          [\x09\x0A\x0D\x20-\x7E]           # ASCII
        | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
        |  \xE0[\xA0-\xBF][\x80-\xBF]       # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
        |  \xED[\x80-\x9F][\x80-\xBF]       # excluding surrogates
        |  \xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}         # planes 4-15
        |  \xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
    )*$%xs', $string); 
}

答案 1 :(得分:0)

您可以将所有返回值放在以下PHP函数中:

string utf8_encode ( string $data )

您可以毫无问题地包含所有文字。

字体:http://www.php.net/manual/en/function.utf8-encode.php