我有一个ASP.NET Web窗体站点,在其中混合了ASP.NET MVC,所以现在我们在此站点上都拥有ASP.NET Web窗体和ASP.NET MVC
如果我在“Web表单”页面上有错误,它将显示常规的黄色错误页面
但是,当我访问MVC页面并抛出500错误时,它将全部呈现为Unicode字符。
我怎样才能解决这个问题?
��{sڸ��3����。%%��zzL�f�l;wNl�5�W�I��〜。{�d��!}m�Ild�u$ ���/�o���{〜Bz��5�kDW�F�Q'��ߕ�<�|G����>W�͈z��h��9��ćkH �5fX�t������e�j���W�W����z��6��_6H!9 \��=��ΐ|������ް����。 ��t[o��������z�I����.��m�qQk{��\��$ �KM�S�u�-Ń����Nʺ�6 �������������������IVG$Ab����S�q_r�ʍ����vJL�ȟq�ˀ�,I��)j�z@������ N�\�m��\(F��c>CX~I O�����3+v��fsA�������LHxD�D��'{0!8��\��J�~�����T����m{
2�9�&P�:��Hf��p_z @�>a����R''m�� O�1�静P5�S��6���u�VQ�Aߎ�ok�����m�UlK;���n ��G߂%����aR��e���#[���-�z��L�B�Ţ�:W��ڄ�kP���� P�o6NK�K&��D����o���Ax���d5z�H�_*�E0L�K�A���
lQ:3z�&i��'S������q.F。{7�K�<9e� ��?�g^^%��yy''ddk��䘁���F��<�I�c�y�;؝��3�mHL'N(r�c�١y�� ��y��D�?C&�E�=F%��$�nR��$J�20 �s��
。 ��h��������@��1�.�?@@f�f���4�OFjÊzҨ〜9��������p٨g�,��l��� ��2�V�4�Q����mo4'G�AbQ;���ex�T;��y.aj.s�lub%% \ { ��r6G�wG�a6C5�/kI9T@�A�}S.Aq����s.s�0D����bQ;;]R�|�� ������+OY�1�rwd�/wVK3��l�gg��������!��'O�7x�,c��a�����p8n。 lZW��+Un��(��逈UHs%�N;�0�R�0}bD�FbfJ������#W��h҃.L�kX>�i����V *vmԄ�pLe�ͩp�[��c8������a(��R��]〜���0��C˖(��-��O��8/O�K f.0。|����2����。[6ϙ�t��Bِ��F��E{�5A;�L�R5���
�0ǰ�w<����7�+jɓֱ��S1��份��xL。 pn�[�\��/&����N5���*����,qq5:d�1 Dʤ0.on * {���v�d�}B�������X!f}�������D1�#E��6��qL�S�: ����|��.��d������A���a��3����|���HY�c�l����݁�n�ed��a�Ӽ�Ã�;
�����l�H; 778O =:<�����<。 k'ݽ�4�Je:&��6�9�登4G+-p��〜̀KXen�fй((dk7�,O�4��=��ɽ:7�ݳ。 �-��������������������������������3��������������������M K>Zsupk.®l“gT.ZSdAf.Nu。(6M۰G0e0 {79 eNKK?ΜHX�M�6W�PK墄�Ј �/�2M����sG��]�+�Dz�ޏ�/΅���HB�&��^��..����S��## n。}N��。 =��:��)r������v�Z��L�9j�L�%taq \�b�('TQ�[\�vV��e。^��] 6。 �4��s�#��n�)�ݴ|������BH�Y�Ĕ\y}$%��?ހ��5��Zx� X�@mvu�?d*�ܓ�|����vo��E���g�M #ְ/J��}��3�R�gq������:�%�
|�:K��ǃ�uUT�b:J݉]п�@�Yf$。 ��w0.O�k�����v;u�QQG@@w���ݘHc����jZ2ʨp��3u/�H�v.��"m�QN|�� ��b]iwN%�Z�T�{��=U랪uOպ%�uh���I��T,H���x��d������j�2�JM�F���$1�6�
t�} A。“Y��s。|m��o#�� A��u����E������D�t�KKQ�zsrE^!JA“$V�ZE�R����������v�R��U�ak o#tk��/�x���H���''̈́����(�W��2�qAXQL��yR1��{iY#t��h*����El。 'pQ����'7�5��_�踖x��:���ܒ���]x�:#�0��XԌ�H�#Ls��������8#E �212P;�{Lk��%v��u�/�uZ�˥��v�SQQeͼ��<��〜�XYZ�Ħ�1] .i>��-{ X�^��͛�j��〜�W�����44R�8�p〜:�V湟��U+��??�����?��j。 4 \l�-�N�B�=��Ռ@ UW =WF�<��ǟh�ɄX��3�����Oֵ�MC8J�/�:n7��S。 %3.k3 !! Ki.R.〜I.x.l.o.t.p。'。s ����0��bт;��}2��e(%-����<��NV
我的版面配置页面中确实有META标签<meta charset="utf-8" />
最佳答案
您的网络服务器似乎将错误页面用作gziped
内容,但您缺少Content-Encoding
响应 header ,无法向用户代理指示他需要在显示流之前解压缩流。
尝试在global.asax中的Application_Error
方法中清除响应过滤器:
protected void Application_Error(object sender, EventArgs e)
{
Response.Filter = null;
...
}
里克·斯特拉尔(Rick Strahl)写了一封
very detailed blog post
关于这里发生的事情。
关于asp.net-mvc - asp net mvc出现500错误,页面呈现unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43638420/