Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Windows
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2013, 05:57   #1
Whiskas
Новичок
Джуниор
 
Регистрация: 26.12.2008
Сообщений: 2
По умолчанию Проблема с utf-8 в cmd

Здарова народ.
Есть проблема, возможно, кто-то с ней сталкивался.
В виндовой консоли меняю кодировку с помощью "chcp 65001" на utf-8 и что бы отображалась кириллица, меняю шрифт на "Lucida Console".
Всё бы ничего (кириллица отображается, уже хорошо), но есть нюансы, а именно.
Если написать простой скриптик на PHP, типа "Hello world", а именно "Привет мир" на русском:
Код:
<?php
printf('Привет мир');
?>
то получаем такую вещь (строку с мусором):

Если же написать простой скриптик на Java "Привет мир":
Код:
public class Hello
{
	public static void main(String[] args)
	{
		System.out.print("Привет мир");

	}
}
то получаем опять получаем строку с мусором:

При выводе посимвольно, вообще интересно получается:
Код:
echo('П');
echo("р");
echo("и");
echo("в");
echo("е");
echo("т");
echo(" ");
echo("м");
echo("и");
echo("р");

Код:
System.out.print("П");
System.out.print("р");
System.out.print("и");
System.out.print("в");
System.out.print("е");
System.out.print("т");
System.out.print(" ");
System.out.print("м");
System.out.print("и");
System.out.print("р");


Однако при выводе всего этого дела через cmd в файл

строка выводится без мусора.

Кто-нить сталкивался с подобной проблемой?
Можете подсказать решение проблемы?)
Whiskas вне форума Ответить с цитированием
Старый 02.01.2013, 11:18   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

это не проблема... так и должно быть. УТФ-8 по два байта на символ отображает.
если в браузере будет смотреть и хидер правильный дадите - все ок будет
ADSoft вне форума Ответить с цитированием
Старый 02.01.2013, 12:59   #3
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

УТФ-8 по два байта на символ отображает.

А теперь - правильный ответ (((Ж
utf-8 - это формат кодирования с переменной длинной символа, которая может составлять от 1 до 6 байт.

Whiskas

Можете подсказать решение проблемы?)

кодировка самого исходника какая?
вообще, php - это быдло-язык, запрещенный в некоторых американских школах, в котором даже сейчас не решена проблема с поддержкой unicode.

Вот с java это более интересно
попробуй консоль запускать в wide-режиме ( ключ /u )
Rififi вне форума Ответить с цитированием
Старый 02.01.2013, 13:17   #4
Whiskas
Новичок
Джуниор
 
Регистрация: 26.12.2008
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
кодировка самого исходника какая?
вообще, php - это быдло-язык, запрещенный в некоторых американских школах, в котором даже сейчас не решена проблема с поддержкой unicode.

Вот с java это более интересно
попробуй консоль запускать в wide-режиме ( ключ /u )
Все исходники в utf-8, wide-режим /u не помогает, тоже самое.
Whiskas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mciSendString(PChar(Cmd), nil, 0, 0); проблема с пробелами в пути к файлу ArtGrek Мультимедиа в Delphi 8 02.08.2016 15:54
Преобразовние Utf-16 <=> Utf-8 hard-t Общие вопросы C/C++ 1 26.08.2011 13:54
Ansi в UTF-8 и наоборот UTF-8 в Ansi Alar Работа с сетью в Delphi 3 09.12.2010 17:02
Проблема с запуском *.cmd Shouldercannon Общие вопросы Delphi 4 21.09.2010 20:24
Проблема с текстом в .cmd nub' Операционные системы общие вопросы 2 05.02.2010 13:47