के साथ विशेष वर्णों को सौदा करना मुझे अभी भी समझ में नहीं आता कि iconv
काम करता है।PHP: आइकनव
,
$string = "Löic & René";
$output = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $string);
मैं मिलता है,
इनपुट स्ट्रिंग में एक अमान्य वर्ण का पता चलानोटिस: iconv() [function.iconv]: में ...
$string = "Löic";
या $string = "René";
मैं मिलता है,
नोटिस:। iconv() [function.iconv]:
में इनपुट स्ट्रिंग में एक अधूरी multibyte चरित्र का पता चला
मैं $string = "&";
साथ कुछ भी नहीं मिलता है अलग outputs मैं उन्हें दो अलग-अलग में स्टोर की जरूरत के दो सेट कर रहे हैं मेरी डेटाबेस की तालिका के अंदर कॉलम,
मैं साफ यूआरएल के लिए
Loic & Rene
कोLöic & René
कन्वर्ट करने के लिए पु जरूरत rposes।मैं उन्हें रखने के लिए के रूप में वे कर रहे हैं की जरूरत है -
Löic & René
Löic & René
के रूप में उसके बाद ही उन्हेंhtmlentities($string, ENT_QUOTES);
साथ परिवर्तित जब उन्हें अपने html पृष्ठ पर प्रदर्शित करना।
मैं नीचे php.net में दिए गए सुझावों में से कुछ के साथ की कोशिश की, लेकिन अभी भी काम नहीं करते,
मैं (एक स्थिति है जहाँ मैं कुछ पात्रों ट्रांस्लितेरातेद की जरूरत है, लेकिन दूसरों को नजरअंदाज कर दिया अयं की तरह अजीब विशेषक के लिए किया था या हम्ज़ा)। // ट्रान्सलिट // इग्नोर जोड़ना मेरे लिए चाल करना प्रतीत होता था। यह सब कुछ लिप्यंतरित करता है जो लिप्यंतरित करने में सक्षम है, लेकिन फिर उन चीजों को फेंकता है जो नहीं हो सकते हैं।
तो:
$string = "ʿABBĀSĀBĀD";
echo iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $string);
// output: [nothing, and you get a notice]
echo iconv('UTF-8', 'ISO-8859-1//IGNORE', $string);
// output: ABBSBD
echo iconv('UTF-8', 'ISO-8859-1//TRANSLIT//IGNORE', $string);
// output: ABBASABAD
// Yay! That's what I wanted!
और एक अन्य,
Andries Seutens 07-Nov-2009 07:38
When doing transliteration, you have to make sure that your LC_COLLATE is properly set, otherwise the default POSIX will be used.
To transform "rené" into "rene" we could use the following code snippet:
setlocale(LC_CTYPE, 'nl_BE.utf8');
$string = 'rené';
$string = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
echo $string; // outputs rene
कैसे मैं वास्तव में उन्हें बाहर काम कर सकते हैं?
धन्यवाद।
संपादित करें:
यह वह जगह है स्रोत फ़ाइल मैं कोड का परीक्षण,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" class="no-js">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?php
$string = "Löic & René";
$output = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $string);
?>
</html>
बीटीडब्लू: आपको एहसास है कि 'आईओ' और आईएसओ -885 9 -1 में हैं?अनुचित इनपुट वर्णमाला के अलावा, आप अपने आउटपुट वर्णमाला को 'ASCII // ट्रान्सलिट' में बदलना चाहेंगे। – Wrikken
मैं इन charsets के साथ इतना उलझन में हूँ ... – laukok
धन्यवाद! मुझे कुछ कोरियाई पात्रों को यूटीएफ -8 में डीकोड करना पड़ा और यह वास्तविक सिरदर्द था - अंत में, केवल एक चीज जो मदद कर रही थी: '$ परिवर्तित = iconv ('ईयूसी-केआर', 'यूटीएफ -8 // ट्रान्सलिट', $ डेटा); ' – ShayLivyatan