Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / проблемки с русскими буквами в самопальных компанентах / 3 сообщений из 3, страница 1 из 1
28.04.2010, 16:29
    #36603466
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемки с русскими буквами в самопальных компанентах
в общем наткнулся на следующую неприятность:
переводя проект на 2010 рельсы оказалось, что мои самодельные компаненты, имеющие вывод сообщений на экран с русскими символами выводят крокозябру, хотя сообщения определенные на самой странице выводятся нормально.
посмотрел JS файл там все нормально (по русски)

что может быть с кодировкой?
как сделать так чтоб было "хорошо"?
...
Рейтинг: 0 / 0
28.04.2010, 17:23
    #36603676
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемки с русскими буквами в самопальных компанентах
Локализация Собственных Компонентов

PS: создал тестовый компонент (Unicode) - отображается корректно.
...
Рейтинг: 0 / 0
28.04.2010, 17:49
    #36603810
Ymka2007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемки с русскими буквами в самопальных компанентах
спасибо за ссылку, не помогает.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
Method isValid() [ Language = javascript ]
{
	var ret=true;
	var reg = '';
	var val = this.value;
	if (val == '') return true;
	if (this.oldInvalidMessage=='')	this.oldInvalidMessage=this.invalidMessage;
	if (this.minlength != '') {
		if (this.minlength > val.length) {
			this.invalidMessage = 'Количество символов в поле должно быть больше или равно ' + this.minlength;
			return false;
		}
	}
	if (this.maxlength != '') {
		if (this.maxlength < val.length) {
			this.invalidMessage = 'Количество символов в поле должно быть меньше или равно ' + this.maxlength;
			return false;
		}
	}
	/// разбор дополнительного шаблона
	var strMSG = '';
	if (this.patternDop != '') {
		/// формирование строки для сообщения
		strMSG = ' и символ' + (this.patternDop.length> 1  ? 'ы ': ' ');
		for (i= 0 ; i<this.patternDop.length; i++) {
			strMSG += '"';
			strMSG += this.patternDop.charAt(i)!=' ' ? this.patternDop.charAt(i) : 'пробел';
			strMSG += '"' 
			strMSG += this.patternDop.charAt(i+ 1 )!='' ? ', ' : '';
		}
	}
	switch(this.patternType) {
		case 'email':
			this.invalidMessage = 'не корректный email';
			reg = /^([ 0 -9a-z])+([.a-z0-9_-])+@([a-z0-9_-])+\.([a-z]){ 2 , 3 }$/i;
			break;
		case 'custom':
			if (this.pattern == '') {
				this.invalidMessage = 'не задана маска this.pattern=""';
				return false;
				break;		
			}
			this.invalidMessage = 'не соответствует маске ' + this.pattern ;
			reg = new RegExp(this.pattern);
			break;
		case '@N':
			this.invalidMessage = 'поле должно содержать только цифры' + strMSG;
			if (this.patternDop=='') reg = /^\d+$/g;
			else reg = new RegExp('^[0-9'+this.patternDop+']+$');
			break;
		case 'lat':
			this.invalidMessage = 'поле должно содержать только буквы латинского алфавита' + strMSG;
			reg = new RegExp('^[a-zA-Z' + this.patternDop + ']+$');
			break;
		case 'lat(U)':
			this.invalidMessage = 'поле должно содержать только заглавные буквы латинского алфавита' + strMSG;
			reg = new RegExp('^[A-Z' + this.patternDop + ']+$');
			break;
		case 'lat(L)':
			this.invalidMessage = 'поле должно содержать только прописные буквы латинского алфавита' + strMSG;
			reg = new RegExp('^[a-z' + this.patternDop + ']+$');
			break;
		case 'lat_@N':
			this.invalidMessage = 'поле должно содержать только буквы латинского алфавита, цифры' + strMSG;
			reg = new RegExp('^[a-zA-Z0-9' + this.patternDop + ']+$');
			break;
		case 'rus':
			this.invalidMessage = 'поле должно содержать только буквы русского алфавита' + strMSG;
			reg = new RegExp('^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя' + this.patternDop + ']+$');
			break;
		case 'rus(U)':
			this.invalidMessage = 'поле должно содержать только заглавные буквы русского алфавита' + strMSG;
			reg = new RegExp('^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ' + this.patternDop + ']+$');
			break;
		case 'rus(L)':
			this.invalidMessage = 'поле должно содержать только прописные буквы русского алфавита' + strMSG;
			reg = new RegExp('^[абвгдеёжзийклмнопрстуфхцчшщьыъэюя' + this.patternDop + ']+$');
			break;
		case 'rus_@N':
			this.invalidMessage = 'поле должно содержать только буквы русского алфавита, цифры' + strMSG;
			reg = new RegExp('^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя0-9' + this.patternDop + ']+$');
			break;
		case 'telephon':
			this.invalidMessage = 'поле должно содержать только цифры или цифры, введенные в формате #-##-##, ##-##-##, ###-##-##';
			reg = new RegExp('^[0-9]{1,3}-[0-9]{2}-[0-9]{2}|^[0-9]+$');
			//reg = new RegExp('^[0-9]{1,3}-[0-9]{2}-[0-9]{2}$|^[0-9'+this.patternDop +']+$/g');
			break;
		case 'mobTel':
			this.invalidMessage = 'поле должно быть введено в формате [+код страны: 1-4 цифры](код региона: 3 цифры)местный номер: ###-####';
			reg = /^(\+\d{ 1 , 4 }){ 1 }\(\d{ 3 }\)\d{ 3 }-\d{ 4 }|^\(\d{ 3 }\)\d{ 3 }-\d{ 4 }$/;
			break;
		case 'rusCountryTel':
			this.invalidMessage = 'поле должно быть введено в формате: 8(код города: 1-5 цифр)местный номер: ###-##-##, ##-##-##, #-##-##';
			reg = /^ 8 \(\d{ 3 }\)\d{ 3 }-\d{ 2 }-\d{ 2 }|^ 8 \(\d{ 4 }\)\d{ 2 }-\d{ 2 }-\d{ 2 }|^ 8 \(\d{ 5 }\)\d{ 1 }-\d{ 2 }-\d{ 2 }$/;
			break;
		default:
			return true;
			break;
	}
	//var a=reg.test(val)
	//alert(reg+'\nreg.test(val)='+a+'\nval='+val)
	if (!reg.test(val)) return false;
	if (this.oldInvalidMessage!=this.invalidMessage) this.invalidMessage=this.oldInvalidMessage;
	//if (this.onvalidate) ret=zenInvokeCallbackMethod(this.onchange,this,'onchange');
	
	return ret;
}

вот метод из кастом-компонента
как такое локализовать?
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / проблемки с русскими буквами в самопальных компанентах / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]