[Mono-devel-list] ASP.NET failing to compile code with identifiers containing non-English characters in UTF-8

Kornél Pál kornelpal at hotmail.com
Mon Jun 13 10:34:06 EDT 2005


You can make sure that this has no connection with the class Locale. It is
an internal class intended to localize the texts of the assembly.

I have modified the subject to describe your problem rather than referring
to my patch.

If I remove <globalization requestEncoding="utf-8" responseEncoding="utf-8"
/> from Web.config it works fine.
Compilation fails because the character "é" in an identifier. I think it's
because the file /tmp/hubert-temp-aspnet/3511c403/95957.0.cs is encoded as
UTF-8 but the compiler treats it as non-UTF-8.

I think you should file a bug report at http://bugzilla.ximian.com/

Kornél

----- Original Message -----
From: "Hubert FONGARNAND"


Since this week end,
I experienced some problems with code charset in ASP.NET pages.
My locales are french :
LANG="fr_FR"
LANGUAGE="fr_FR"
LC_ALL="fr_FR"

I've attached an example of a page made with VS.NET 2003 with a single Label
with an ID : "Début"
It seems like mono doesn't like utf8 characters in aspx.cs code!
This code worked a week ago... it's a regression due to the work which has
been done on Locale classes

I've got this error when I run http://localhost:8080/WebForm1.aspx
Server Error in '/' Application
Compilation Error
Description: Error compiling a resource required to service this request.
Review your source file and modify it to fix this error.

Error message: /tmp/hubert-temp-aspnet/3511c403/95957.0.cs(72,0) : error
CS1002: Expecting `;' /tmp/hubert-temp-aspnet/3511c403/95957.0.cs(73,0) :
error CS1002: Expecting
`;' /tmp/hubert-temp-aspnet/3511c403/95957.0.cs(78,0) : error CS8025:
Parsing
error

File name: /home/monoapp/essaiutf/WebForm1.aspx

Source File: /tmp/hubert-temp-aspnet/3511c403/95957.0.cs

Line 1: //
------------------------------------------------------------------------------
Line 2: //  <autogenerated>
Line 3: //      This code was generated by a tool.
Line 4: //      Mono Runtime Version: 1.1.4322.573
Line 5: //
Line 6: //      Changes to this file may cause incorrect behavior and will
be
lost if
Line 7: //      the code is regenerated.
Line 8: //  </autogenerated>
Line 9: //
------------------------------------------------------------------------------
Line 10:
Line 11: namespace ASP {
Line 12:     using System;
Line 13:     using System.Collections;
Line 14:     using System.Collections.Specialized;
Line 15:     using System.Configuration;
Line 16:     using System.Text;
Line 17:     using System.Text.RegularExpressions;
Line 18:     using System.Web;
Line 19:     using System.Web.Caching;
Line 20:     using System.Web.Security;
Line 21:     using System.Web.SessionState;
Line 22:     using System.Web.UI;
Line 23:     using System.Web.UI.WebControls;
Line 24:     using System.Web.UI.HtmlControls;
Line 25:
Line 26:     public class WebForm1_aspx: essaiutf.WebForm1,
System.Web.SessionState.IRequiresSessionState {
Line 27:
Line 28:         private static bool __intialized = false;
Line 29:
Line 30:         protected System.Web.UI.HtmlControls.HtmlForm Form1;
Line 31:
Line 32:         public WebForm1_aspx () {
Line 33:             if ((ASP.WebForm1_aspx.__intialized == false)) {
Line 34:                 ASP.WebForm1_aspx.__intialized = true;
Line 35:             }
Line 36:         }
Line 37:
Line 38:         protected override bool SupportAutoEvents {
Line 39:             get {
Line 40:                 return false;
Line 41:             }
Line 42:         }
Line 43:
Line 44:         protected System.Web.HttpApplication ApplicationInstance {
Line 45:             get {
Line 46:                 return ((System.Web.HttpApplication)
(this.Context.ApplicationInstance));
Line 47:             }
Line 48:         }
Line 49:
Line 50:         public override string TemplateSourceDirectory {
Line 51:             get {
Line 52:                 return "/";
Line 53:             }
Line 54:         }
Line 55:
Line 56:         private void __BuildControlTree(System.Web.UI.Control
__ctrl)
{
Line 57:             System.Web.UI.IParserAccessor __parser =
((System.Web.UI.IParserAccessor)(__ctrl));
Line 58:             __parser.AddParsedSubObject(new
System.Web.UI.LiteralControl("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0
Transitional//EN\"
>\n<HTML>\n\t<HEAD>\n\t\t<title>WebForm1</title>\n\t\t<meta
name=\"GENERATOR\" Content=\"Microsoft Visual Studio .NET 7.1\">\n\t\t<meta
name=\"CODE_LANGUAGE\" Content=\"C#\">\n\t\t<meta
name=\"vs_defaultClientScript\" content=\"JavaScript\">\n\t\t<meta
name=\"vs_targetSchema\"
content=\"http://schemas.microsoft.com/intellisense/ie5\">\n\t</HEAD>\n\t<body
MS_POSITIONING=\"GridLayout\">\n\t\t"));
Line 59:             this.__BuildControl_Form1();
Line 60:             __parser.AddParsedSubObject(this.Form1);
Line 61:             __parser.AddParsedSubObject(new
System.Web.UI.LiteralControl("\n\t</body>\n</HTML>\n"));
Line 62:         }
Line 63:
Line 64:         private System.Web.UI.Control __BuildControl_Form1() {
Line 65:             System.Web.UI.HtmlControls.HtmlForm __ctrl;
Line 66:             __ctrl = new System.Web.UI.HtmlControls.HtmlForm();
Line 67:             this.Form1 = __ctrl;
Line 68:             __ctrl.ID = "Form1";
Line 69:             __ctrl.Method = "post";
Line 70:             System.Web.UI.IParserAccessor __parser =
((System.Web.UI.IParserAccessor)(__ctrl));
Line 71:             __parser.AddParsedSubObject(new
System.Web.UI.LiteralControl("\n\t\t\t"));
Line 72:             this.__BuildControl_Début();
Line 73:             __parser.AddParsedSubObject(this.Début);
Line 74:             __parser.AddParsedSubObject(new
System.Web.UI.LiteralControl("\n\t\t"));
Line 75:             return __ctrl;
Line 76:         }
Line 77:
Line 78:         private System.Web.UI.Control __BuildControl_Début() {
Line 79:             System.Web.UI.WebControls.Label __ctrl;
Line 80:             __ctrl = new System.Web.UI.WebControls.Label();
Line 81:             this.Début = __ctrl;
Line 82:             __ctrl.ID = "Début";
Line 83:             ((System.Web.UI.IAttributeAccessor)
(__ctrl)).SetAttribute("style", "Z-INDEX: 101; LEFT: 216px; POSITION:
absolute; TOP: 56px");
Line 84:             __ctrl.Width =
System.Web.UI.WebControls.Unit.Parse("240px");
Line 85:             __ctrl.Height =
System.Web.UI.WebControls.Unit.Parse("32px");
Line 86:             System.Web.UI.IParserAccessor __parser =
((System.Web.UI.IParserAccessor)(__ctrl));
Line 87:             __parser.AddParsedSubObject(new
System.Web.UI.LiteralControl("Label"));
Line 88:             return __ctrl;
Line 89:         }
Line 90:
Line 91:         protected override void FrameworkInitialize() {
Line 92:             this.TraceModeValue = System.Web.TraceMode.SortByTime;
Line 93:             this.Request.ValidateInput();
Line 94:             this.__BuildControlTree(this);
Line 95:         }
Line 96:
Line 97:         public override int GetTypeHashCode() {
Line 98:             return 478440926;
Line 99:         }
Line 100:     }
Line 101:
Line 102: }


Could someone help me to debug that!
_______________________________________________
Ce message et les ventuels documents joints peuvent contenir des
informations confidentielles.
Au cas o il ne vous serait pas destin, nous vous remercions de bien vouloir
le supprimer et en aviser immdiatement l'expditeur. Toute utilisation de ce
message non conforme  sa destination, toute diffusion ou publication, totale
ou partielle et quel qu'en soit le moyen est formellement interdite.
Les communications sur internet n'tant pas scurises, l'intgrit de ce message
n'est pas assure et la socit mettrice ne peut tre tenue pour responsable de
son contenu.



--------------------------------------------------------------------------------


> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>




More information about the Mono-devel-list mailing list