 
			
				08.03.2015, 18:07
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.05.2014 
					
					
					
						Сообщений: 72
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				В чат возвращается ? вместо русских букв
			 
			
		
		
		
		Почитал несколько похожих тем, не помогло. 
Мой случай таков: пользователь проходит регистрацию, авторизацию и проч. После этого он попадает на страницу с чатом, условно - chat.php  
На странице имеется ссылка:  http://название_сайта/chat.php?exit, когда обнуляются данные входа.
 
И вот что интересно: 
Если сразу после регистрации пользователь начнёт писать в чат, причём неважно, вышел он и зашёл сразу или просто вошёл, с первого раза чат выводит ??? вместо русских букв (вопросов несколько, их количество ненормировано, я их нигде не подставляю и т.д). НО! Картина чудесным образом меняется, если закрыть вкладку с сайтом, вставить url страницы чата в адресную строку и зайти на него снова. 
Все символы выводятся нормально, кроме битых.
 
Как решить эту проблему?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 18:24
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Либо соединение SQL отдельное у чата, а его кодировка не указана, либо все что отдается в чат не соответствует кодировке. Проблему нужно решать на сервере, клиент не причем. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 18:29
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.03.2011 
					
					
					
						Сообщений: 1,141
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Нубопрогер
			
		
	 | 
 
	| 
		Как решить эту проблему?
	 | 
 
	
 
 Начать с изучения основ в частности протокола HTTP в нем изучить как работают методы GET и POST какие заголовки http при этом используются и для чего. 
Правильно указанный один из заголовков решит твою проблему. 
Ну а в общем изучение основ позволит в дальнейшем не задавать такие вопросы )  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 18:56
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.05.2014 
					
					
					
						Сообщений: 72
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		Либо соединение SQL отдельное у чата, а его кодировка не указана, либо все что отдается в чат не соответствует кодировке. Проблему нужно решать на сервере, клиент не причем.
	 | 
 
	
 
 Про сервак-то понятно, кодировка указана как utf8, а вот со вторым, я, пожалуй соглашусь. 
json_encode() не передаёт русский текст (америкосы блин разработчики   ). 
В майскл идёт русский текст, я этого добился, но возвращаются по-прежнему вопросы  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 18:57
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.05.2014 
					
					
					
						Сообщений: 72
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от MallSerg
			 
		
	 | 
 
	
		Начать с изучения основ в частности протокола HTTP в нем изучить как работают методы GET и POST какие заголовки http при этом используются и для чего. 
Правильно указанный один из заголовков решит твою проблему. 
Ну а в общем изучение основ позволит в дальнейшем не задавать такие вопросы )
	 | 
 
	
 
 Я спрашивал не про ?exit, это было лирическое отступление. 
При них чат также не отображает русский текст  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 19:08
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 json_encode() не передаёт русский текст (америкосы блин разработчики ). 
 
Что за глупости, ей по барабану какой язык, только все что не английское будет передано в unicode. В версии доступна константа JSON_UNESCAPED_UNICODE, позволяющая не кодировать в unicode, так что получите русское, два байта на символ вместо 5. 
 
Когда вот так ????, то в первую очередь нужно проверять SQL-соединение. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 19:24
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.05.2014 
					
					
					
						Сообщений: 72
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		json_encode() не передаёт русский текст (америкосы блин разработчики ). 
 
Что за глупости, ей по барабану какой язык, только все что не английское будет передано в unicode. В версии доступна константа JSON_UNESCAPED_UNICODE, позволяющая не кодировать в unicode, так что получите русское, два байта на символ вместо 5. 
 
Когда вот так ????, то в первую очередь нужно проверять SQL-соединение.
	 | 
 
	
 
 Вот оно:
 
@mysql_connect('localhost', 'root', '') or die("Не могу соединиться с MySQL.");
@mysql_select_db('mafia') or die("Не могу подключиться к базе.");
@mysql_query('SET NAMES utf8;');
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Нубопрогер, 08.03.2015 в 19:30.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 19:27
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Да, все верно с SQL, но если как вы говорите, ваш сервер по умолчанию настроен на UTF, то есть Апач передает заголовки, то и глюков быть не должно. 
Перед выдачей клиенту сообщения в чат передайте сами заголовок кодировки, если будут нормально, значит все таки не UTF у сервера. Если при передачи заголовка глюк не исчезнет, значит у вас путаница в кодировках. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 19:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 26.05.2014 
					
					
					
						Сообщений: 72
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 И у меня Denwer - PHP 5.3.13, а  JSON_UNESCAPED_UNICODE вышло в PHP 5.4 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.03.2015, 19:34
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Выбрасывайте Денвер в помойку, умер он, ибо больше не развивается. Установите  Open Server - отличный локальный сервер, с гораздо большими возможностями, и не топчущийся на месте. 
В нем можно подключить любую из доступных версию РНР.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |