Html &;nbsp当开关编码类型变为奇怪字符时
我在我的网页中使用了Html &;nbsp当开关编码类型变为奇怪字符时,html,jsf,jsf-2,Html,Jsf,Jsf 2,我在我的网页中使用了,当在不同的编码之间切换时,它会变成奇怪的字符,正如您从下面的屏幕截图中看到的,它会变成中文字符,而在其他编码中,它会变成带有重音的字符。对于间距,我将不再使用,但我的JSF页面需要一个空标签,所以我使用 h:outputLabel value=" " 现在我不确定我可以用什么来替换上面的代码,以避免这些奇怪的字符出现在我的页面上。请帮忙 对于初学者来说,应该在末尾加一个分号: 然而,我不认为这会导致这个问题 有什么原因不能简单地使用
,当在不同的编码之间切换时,它会变成奇怪的字符,正如您从下面的屏幕截图中看到的,它会变成中文字符,而在其他编码中,它会变成带有重音的
字符。对于间距,我将不再使用,但我的JSF页面需要一个空标签,所以我使用
h:outputLabel value=" "
现在我不确定我可以用什么来替换上面的代码,以避免这些奇怪的字符出现在我的页面上。请帮忙
对于初学者来说,
应该在末尾加一个分号:
然而,我不认为这会导致这个问题
有什么原因不能简单地使用“”或将其完全留空
h:outputLabel value=" "
h:outputLabel value=""
但你不应该用它来做造型。相反,您可以简单地:
button.myCancelButton { margin-left:40px; }
radio.myColumnsRadio { margin-left:40px; }
此外,如果您希望单选按钮之间的间距相等,您可以将其包装在固定宽度的容器中,或者将其放在表格中:
span.myRadioContainer { width:100px; display:inline-block; }
或者(HTML解决方案,不确定JSF如何工作):
...
.首先,应该在末尾加一个分号:
然而,我不认为这会导致这个问题
有什么原因不能简单地使用“”或将其完全留空
h:outputLabel value=" "
h:outputLabel value=""
但你不应该用它来做造型。相反,您可以简单地:
button.myCancelButton { margin-left:40px; }
radio.myColumnsRadio { margin-left:40px; }
此外,如果您希望单选按钮之间的间距相等,您可以将其包装在固定宽度的容器中,或者将其放在表格中:
span.myRadioContainer { width:100px; display:inline-block; }
或者(HTML解决方案,不确定JSF如何工作):
...
.对于,使用值和#160代码>
请参考了解,使用值 代码>
请参阅您需要通过
控制JSF视图编码,而不是在JSF的控制之外手动设置HttpServletResponse#setCharacterEncoding()
。否则JSF仍然使用默认的UTF-8编码编写响应,而您基本上只是在事后告诉浏览器它使用的是不同的编码,因此浏览器会错误地解释它
<f:view encoding="#{bean.encoding}">
至于你看到的奇怪的人物。当接收器(读取:webbrowser)使用ISO-8859-1错误地解释了这些字节时,您将分别得到字符
和另一个非中断空格。如果使用KSC5601错误地解释了这些字节,那么您将获得与字符혻
您需要通过
控制JSF视图编码,而不是在JSF控制之外手动设置HttpServletResponse#setCharacterEncoding()
。否则JSF仍然使用默认的UTF-8编码编写响应,而您基本上只是在事后告诉浏览器它使用的是不同的编码,因此浏览器会错误地解释它
<f:view encoding="#{bean.encoding}">
至于你看到的奇怪的人物。当接收器(读取:webbrowser)使用ISO-8859-1错误地解释了这些字节时,您将分别得到字符
和另一个非中断空格。如果使用KSC5601错误地解释了这些字节,那么您将获得与字符혻
我想你不能只使用空格?你说的“在不同编码之间切换”是什么意思?你在使用什么VDL(JSP或Facelets)?@McDowell:我的意思是UTF、韩国KSC5601、日本EUC。。。克杰提尔:给空格似乎对我不起作用。请在文本中复制粘贴该字符。我对它的UTF-8字节序列很好奇。至于在编码之间切换,您是如何以及为什么这样做的?@BalusC:the->这是编码ISO-8859-1
,혻혻혻혻 -> 这是编码KSC5601
。如何:我创建了一个PhaseListener,在afterPhase
中,我创建了((HttpServletResponse)o)代码>。为什么:要求web应用程序允许客户在不同的编码类型之间切换我想你不能只使用空格?你说的“在不同编码之间切换”是什么意思?你在使用什么VDL(JSP或Facelets)?@McDowell:我的意思是UTF、韩国KSC5601、日本EUC。。。克杰提尔:给空格似乎对我不起作用。请在文本中复制粘贴该字符。我对它的UTF-8字节序列很好奇。至于在编码之间切换,您是如何以及为什么这样做的?@BalusC:the->这是编码ISO-8859-1
,혻혻혻혻 -> 这是编码KSC5601
。如何:我创建了一个PhaseListener,在afterPhase
中,我创建了((HttpServletResponse)o)代码>。原因:要求web应用程序允许客户在不同的编码类型之间切换—看起来都是 ;和 不起作用。它仍然有一个奇怪字符的映射。代替h:outputLabel
你能试一下h:outputText
?它看起来都是 ;和 不起作用。它仍然有一个奇怪字符的映射。你能尝试一下h:outputLabel
而不是h:outputText
?