Also, another thing to note, if I just type a € on the WOComponent page, it also displays as a '?' when the page loads. It seems like it's not applying the UTF-8 encoding.

Regards,
David.

On Nov 11, 2009, at 1:30 PM, David Griffith wrote:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

On Nov 11, 2009, at 1:23 PM, Gino Pacitti wrote:

What about the encoding on the actual HTML page? Whats that set to?

Regards

Gino

On 11 Nov 2009, at 12:17, David Griffith wrote:

Hi all,

I have the following situation:

A database with all tables specified to default to UTF8 encoding.
Adaptor URL containing useUnicode=true&setContentEncoding=UTF8
A record in one table that holds the € currency symbol.

I am loading a WOComponent page to edit values etc., using a form.

Everything was fine and one day all the € symbols started appearing as '?'. Clearly something changed somewhere on the server but I don't know what. Anyway, the €msymbols that are appearing this way are displayed by using a WOString. The value it displays is from defaultCountry which is a variable of type COUNTRY loaded from the database and stored in the Session class.

€ symbols that were entered on the form, when added to a display group for example, would appear as €.

I've had a look around and what I found was this suggestion:

Put this in Application class:

 public void takeValuesFromRequest(WORequest r, WOContext c) {
      r.setDefaultFormValueEncoding("UTF8");
      super.takeValuesFromRequest(r,c);
  }

  public void appendToResponse(WOResponse r, WOContext c) {
      r.setContentEncoding("UTF8");
      super.appendToResponse(r,c);
      r.setHeader("text/html;charset=utf-8", "Content-Type");
  }

Which I did. It helped to a certain extent. It seemed to fix the problem with the form values, which now displayed correctly, but the '?' still appears where the value is displayed with WOString. Then I found another suggestion:

Put this in Application class:

public WOResponse dispatchRequest(WORequest aRequest) {
aRequest.setContentEncoding("UTF-8");
WOResponse aResponse = super.dispatchRequest(aRequest);
aResponse.setContentEncoding("UTF-8");
return aResponse;

Doing this solved the problem of the '?' but reverted the form values to display as €.

No matter what I do, there doesn't seem to be a way to get them both to display correctly. Any ideas?

Regards,
David.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/ginokris%40mac.com

This email sent to [email protected]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/david%40infinityspain.com

This email sent to [email protected]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/david%40infinityspain.com

This email sent to [email protected]

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to