Php Fpdf与特殊字符

Php Fpdf与特殊字符,php,character-encoding,fpdf,Php,Character Encoding,Fpdf,我正在尝试用内置字体写出一些特殊的字符,有什么方法可以做到这一点吗 $str='sčťýýýýýýýýýýýýýýýýý; $str=iconv('UTF-8','windows-1252',$str) 结果是一个字母,不太好。:) 您需要使用FPDF的tFPDF派生。tFPDF使用PHP多字节字符串函数并生成用UTF-8编码的输出。FPDF没有。您还需要使用支持所有要使用的Unicode字符的字体。通常,我会使用Arial 请参阅:您需要使用FPDF的tFPDF衍生物。tFPDF使用PHP多字

我正在尝试用内置字体写出一些特殊的字符,有什么方法可以做到这一点吗

$str='sčťýýýýýýýýýýýýýýýýý; $str=iconv('UTF-8','windows-1252',$str)


结果是一个字母,不太好。:)

您需要使用FPDF的tFPDF派生。tFPDF使用PHP多字节字符串函数并生成用UTF-8编码的输出。FPDF没有。您还需要使用支持所有要使用的Unicode字符的字体。通常,我会使用Arial


请参阅:

您需要使用FPDF的tFPDF衍生物。tFPDF使用PHP多字节字符串函数并生成用UTF-8编码的输出。FPDF没有。您还需要使用支持所有要使用的Unicode字符的字体。通常,我会使用Arial


请看:

我知道这是一条老线索,但我在这个周末遇到了这个问题,花了很长时间在谷歌上搜索和玩,所以这里有一个节省时间的方法。 是使用变音符号(重音符号)的方法。但是你需要给它添加一些代码。。。 把这个插到第617行

 /* Modified by Vinod Patidar due to font key does not match in dejavu bold.*/
    if ( $family == 'dejavu' && !empty($style) && ($style == 'B' || $style == 'b') ) {
        $fontkey = $family.' '.strtolower($style);
    } else {
        $fontkey = $family.$style;  
    }
    /* Modified end here*/
然后改变

if($family=='arial')
        $family = 'helvetica';

然后不要使用示例“DejaVu Sans Condensed”中的字体,因为Condensed似乎意味着粗体版本不包含所有字符

您可能还需要从普通fpdf.php脚本添加getPageWidth和getPageHeight方法,因为它比tfpdf.php更新

随着上述变化

$pdflabel->AddFont('DejaVu','','DejaVuSans.ttf',true);  
$pdf->AddFont('DejaVu','B','DejaVuSans-Bold.ttf',true);

对欧洲语言很有效

我知道这是一个老话题,但我这个周末遇到了这个问题,花了很长时间在谷歌上搜索和玩,所以这里有一个节省时间的方法。 是使用变音符号(重音符号)的方法。但是你需要给它添加一些代码。。。 把这个插到第617行

 /* Modified by Vinod Patidar due to font key does not match in dejavu bold.*/
    if ( $family == 'dejavu' && !empty($style) && ($style == 'B' || $style == 'b') ) {
        $fontkey = $family.' '.strtolower($style);
    } else {
        $fontkey = $family.$style;  
    }
    /* Modified end here*/
然后改变

if($family=='arial')
        $family = 'helvetica';

然后不要使用示例“DejaVu Sans Condensed”中的字体,因为Condensed似乎意味着粗体版本不包含所有字符

您可能还需要从普通fpdf.php脚本添加getPageWidth和getPageHeight方法,因为它比tfpdf.php更新

随着上述变化

$pdflabel->AddFont('DejaVu','','DejaVuSans.ttf',true);  
$pdf->AddFont('DejaVu','B','DejaVuSans-Bold.ttf',true);

与欧洲语言很好地结合

你试过
mbäu convertúu编码吗
没有,试过$str=mbúu convertúu编码($str,'iso-8859-2','UTF-8'),但字符仍然不正常($str,'iso-8859-2','UTF-8')但字符仍然不正确