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

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

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


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