Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

French Character Display Incorrect

Posted on 2014-11-05
5
Medium Priority
?
245 Views
Last Modified: 2014-11-06
I am using an API service that looks up a Bible verse in French and then returns it as a json lable.

The Raw Jason text looks like this:

[{"book_name":"Matthieu","book_id":"Matt","book_order":"55","chapter_id":"28","chapter_title":"Chapter 28","verse_id":"5","verse_text":"Et l\u2019ange, r\u00e9pondant, dit aux femmes: Pour vous, n\u2019ayez point de peur; car je sais que vous cherchez J\u00e9sus le crucifi\u00e9; \n\t\t\t","paragraph_number":"28"},

Open in new window


I know how to grab the text portion of the Json, but it isn't correctly handling the french character sets.  It instead displays it like this:

Et l’ange, répondant, dit aux femmes: Pour vous, n’ayez point de peur; car je sais que vous cherchez Jésus le crucifié; il n’es

Open in new window


In case this doen't display well, I'm attaching a test file that shows this more clearly.  I assume that it has something to do with changing the encoding. The API help desk I'm using isn't answering me to quickly.

Thanks.
frenchText.jpg
0
Comment
Question by:pkonstan1
5 Comments
 
LVL 31

Expert Comment

by:Predrag
ID: 40424924
Try to change problematic characters with html entity.

instead \u2019 use ’  - find replacements for other characters for HTML Entity (decimal)

More details on \u2019
0
 

Author Comment

by:pkonstan1
ID: 40424941
I don't have control over the text being sent to me. It is what I get. I need to know via PHP how to convert what I've been given into readable text on screen.

What you sent me predgrag doesn't help me do that.  I can't manually go thru and change each entity that is returned.
0
 
LVL 9

Accepted Solution

by:
Brian Tao earned 900 total points
ID: 40425320
It should be an encoding/charset issue.  What's the charset in you page?  Do you have a line in the page source similar to the following?
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Open in new window

0
 
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 1100 total points
ID: 40425380
It's a common problem since the world is becoming smaller and more connected day-by-day.  The explanation, as well as guidance about how to fix it, is here:
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_11880-Unicode-PHP-and-Character-Collisions.html

I recently made a presentation to the DC PHP User's Group on this subject.  The slide deck is here:
http://www.slideshare.net/RayPaseur/unicode-php-and-character-set-collisions
0
 

Author Closing Comment

by:pkonstan1
ID: 40426725
Thanks for the insight. Your comments helped me see that in my testing I wasn't correctly putting in the character set in the HTML header.

In my application it works fine because character set is in the header. But with the test it was just dumping raw characters which didn't work.

Thanks again for the help.
0

Featured Post

Ask an Anonymous Question!

Don't feel intimidated by what you don't know. Ask your question anonymously. It's easy! Learn more and upgrade.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to implement server side field validation and display customized error messages to the client.
It’s a season to be thankful, and we’re thankful for users like you who engage on site, solve technology problems, and network with others in the industry. What tech are we most thankful for? Keep reading.
The viewer will learn how to dynamically set the form action using jQuery.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Suggested Courses

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question