簡體   English   中英

包含文件中的UTF-PHP

[英]UTF from included file - PHP

我從單獨的文件中包含我的lang。 由於需要翻譯,因此我需要將其轉換為UTF8中的代碼,我如何嘗試將其顯示為D.tum vytvorenia pr?padu而不是Datumvytvořenípřípadu

看起來像:

<html>
<head>
<meta charset="utf-8"> 
</head>
<body></body>
</html>

<?php
header('Content-Type: text/html; charset=utf-8');
$lang = array();

//All
$lang['YES'] = 'Áno';
$lang['NO'] = 'Nie';
$lang['NOT_AVALIABLE'] = 'Nie je k dispozícii';
$lang['CURRENCY'] = 'Mena';
.........

之后,我在類中將其稱為:

  public function fetchByVinAxnmrss($con) {
     $success = false;
    include_once 'languages/'.$lang_file; 
     try{
            $sql = "SELECT * FROM axnmrs_cases WHERE vin = :vin ORDER BY date_created DESC LIMIT 60";
            $stmt = $con->prepare( $sql );
            $stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR );
            $stmt->execute();
                while ($row = $stmt->fetch()){
                 echo  "<dt>".$lang['AXNMRS_CASE_CREATED_DATE']."</dt>";

我嘗試的是:

  • UTF8類是正確的,因為如果我只是寫的話,它就在那里工作
    直接單詞,不包含lang文本
  • 所有文件均以UTF-8編碼保存
  • 嘗試使用Meta和PHP設置UTF8字符

我真的不知道我還能嘗試什么。

您可以在顯示字符串之前使用htmlentities函數。

$encodedString  = htmlentities($badString,ENT_QUOTES | ENT_IGNORE | ENT_SUBSTITUTE | ENT_DISALLOWED | ENT_HTML401 | ENT_XML1 | ENT_XHTML | ENT_HTML5, "ISO-8859-1");

對於歐洲單詞,您需要使用ISO-8859-1編碼其他語言字符的字符串,您可以參考此php參考上支持的字符集表

http://php.net/manual/en/function.htmlentities.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM