|
|
|
|
|
для: servannin
(14.03.2005 в 14:59)
| | Я думаю, что вам сначала нужно найти фрагмент кода, который превращает сами символы в их коды, а потом подумать чем его можно заменить. Проверяйте содержимое строки или другой переменной после каждой операции над ней (перекодирования) и вы его найдете | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(14.03.2005 в 14:51)
| | У меня вот такие функции кодировок:
<?php ## Функции перевода строк из кодировки WINDOWS-1251 в UTF-8 и обратно
setlocale(LC_ALL,"ru_RU.CP1251");
define('Encoding','WINDOWS-1251');
define ('XMLHead',"<?xml version='1.0' encoding='".Encoding."'?>");
function utf8encode($str,$encode=Encoding)
{
return iconv($encode,'UTF-8',$str);
}
function utf8decode($str,$encode=Encoding)
{
return iconv('UTF-8',$encode,$str);
}
?> | |
|
|
|
|
|
|
|
для: servannin
(14.03.2005 в 13:57)
| | А что у вас за функция utf8decode()? Это ваша собственная функция?
В php есть функция utf8_decode() | |
|
|
|
|
|
|
|
для: servannin
(14.03.2005 в 13:43)
| | Сейчас код выглядит так :
<?php
$dom->formatOutput=true;
if ($node !== $dom){
$asd=htmlspecialchars(utf8decode($dom->saveXML($node)));
$asd=str_replace('&#', '&#', $asd);
echo $asd;
$file="textfile.txt";
if(file_exists($file))
{
$fp = fopen ($file,"w");
$asd=utf8decode($dom->saveXML($node));
fwrite($fp,$asd);
fclose($fp);
}}
//else
//$asd=htmlspecialchars($dom->saveXML());
//echo $asd;
?>
и выводит так:
<Рисунки>
<строка>указан графический xml-файл1 для вставки</строка>
<строка>
А как содержание сделать , то есть значения <строк>
чего то не могу.... | |
|
|
|
|
|
|
|
для: antf
(14.03.2005 в 03:34)
| | Я потихоньку схожу с ума , ... ничего не выходит! ((Есть Бог на этом свете или нет? | |
|
|
|
|
|
|
|
для: servannin
(14.03.2005 в 00:34)
| | 1) Почему в браузере все нормально, а в файле - иероглифы? Потомучто в процессе ваших преобразований все без исключения символы были заменены на html код символа. Браузер их отображает (взгляните на код), а текстовой редактор все отображает как есть. Нужно найти то место, где происходит перекодировка и устранить это. Я с данным расширением PHP не работал, поэтому ничем помочь не смогу, да и шрифты Unicode у меня не установлены.
2) Методом тыка попробуйте:
<?
$asd=htmlspecialchars(utf8_decode($dom->saveXML($node)), ENT_COMPAT, UTF-8);
?>
|
| |
|
|
|
|
|
|
|
для: servannin
(13.03.2005 в 21:33)
| | Так что, кто нибудь поможет??? | |
|
|
|
|
|
|
|
для: antf
(13.03.2005 в 20:57)
| | Всем спасибо за помощь, в особенности antf'у.
В браузере сейчас отображается просто отлично, но ,к сожалению, в файл записывается похожая чушь ...
Например, вот это:
<Рисунки>
<строка>указан графический xml-файл1 для вставки</строка>
<строка>указан графический xml-файл2 для вставки</строка>
</Рисунки>
отображается как:
<Рисунки>
<строка>указан графический xml-файл1 для вставки</строка>
<строка>указан графический xml-файл2 для вставки</строка>
</Рисунки>
Я делаю это так(это версия пока пробная , так что на довольно простой код внимания не обращайте... 8-)) :
$dom->formatOutput=true;
if ($node !== $dom){
$asd=utf8decode(htmlspecialchars($dom->saveXML($node)));
$asd=str_replace('&#', '&#', $asd);
echo $asd;
$file="textfile.txt";
if(file_exists($file))
{
//$k1="asdfgdsfgd";
$fp = fopen ($file,"w");
fwrite($fp,$asd);
fclose($fp);
}}
Не могу пока понять где ошибка??? | |
|
|
|
|
|
|
|
для: antf
(13.03.2005 в 20:50)
| | Я в таком случае пишу функцию
<?
//Убирает то безобразие, которое функция htmlspecialchars() натворила с национальными символами немецкого и франц. языка
function ConvertBack($Str)
{
$Str=str_replace('&#', '&#', $Str);
return($Str);
}
?>
|
А вообще мне сказали, что причина такого безобразия - несовпадение кодировки сервера и компьютера клиента. У меня такая проблема возникает на франкоязычных форумах. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(13.03.2005 в 20:26)
| | А вы попробуйте скопировать из режима просмотра html кода, а не прямо из окна браузера. (Дизайнеру) | |
|
|
|
|