FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Displaying UTF-8-encoded strings from MySQL with PHP
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Displaying UTF-8-encoded strings from MySQL with PHP [message #174526 is a reply to message #174512] Wed, 15 June 2011 16:07 Go to previous messageGo to previous message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma:
Senior Member
On 6/15/2011 7:57 AM, "Álvaro G. Vicario" wrote:
> El 15/06/2011 12:53, Jerry Stuckle escribió/wrote:
>>> http://www.itnewb.com/v/UTF-8-Enabled-Apache-MySQL-PHP-Markup-and-JavaScrip t
>>>
>>>
>>>
>>>
>>> Whatever, are you sure that your data is actually stored as valid UTF-8
>>> after the migration?
>>>
>>> The HEX() function can be handy:
>>>
>>> http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_hex
>>>
>>>
>>>
>>>
>>
>> Álvaro, I admit I'm not great at UTF-8. This is a great guide if you
>> have your own server and want everything in UTF-8. However, do you know
>> of a similar reference for those who use shared servers and/or don't
>> want everything to default to UTF-8?
>
> I suppose you refer to the MySQL section (the rest of the stuff is easy
> to customize). I believe you can safely ignore it: it's only a trick to
> use UTF-8 with misconfigured clients. All you have to do is, well,
> configure your client properly. From my experience, this is all you need
> in PHP:
>

That's part of it, but even the PHP and Apache configurations can be
hard to duplicate in your code, and generally you need to do it in every
file.

Of course, you can use .htaccess to configure such, if the web server
allows. But I'm not even sure if some of those Apache settings are
valid in the .htaccess (haven't checked). And of course .htaccess isn't
available if you're running on IIS.

>
> // Good old MySQL extension
> mysql_set_charset('utf8', $conn)
>
>
> // PDO
> $pdo_options = array(
> PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
> );
> $conn = new PDO(..., $pdo_options);
>
>
> With mb_convert_encoding() you can retrieve and store UTF-8 data even if
> your app does not use it ;-)
>
>

How's mb_convert_encoding() working? Is it correct in converting
(assuming, of course, the character exists in the character set being
converted to).

I'm asking this because I only dabbled a bit in utf-8 several years ago,
and haven't touched it since (yea, we Americans think the whole world
revolves around us :) ). But I may soon be involved in a project which
does use it.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: How do I force PHP to assume UTF-8 for $_GET?
Next Topic: radio button change after going to next page
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Nov 28 12:06:24 GMT 2024

Total time taken to generate the page: 0.07116 seconds