Nginx memcached module and strange characters

Hi,

When retrieving data via the mecached module, there is some strange
characters appearing. It looks like that kind of encoding issue
between utf8 and iso8859-1.
Data is encoded by a rails app (via a mongrel cluster).
Is there any encoding parameters on the nginx side i have not seen or
is it more propably memcached which is not supporting utf8 ?

Thx

I notice the same problem.
nginx version: nginx/0.5.34

any solution?

I have tried nginx/0.6.32, but this didn’t fix the problem.
I used:
ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-linux] and
ruby 1.8.7 (2008-06-20 patchlevel 22) [i686-darwin9]
with
memcached 1.2.5
libmemcached 0.22
memcached gem 0.11
or
memcached-client 1.5.0

here is my nginx conf file:
worker_processes 1;
pid /www/logs/nginx.pid;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
default_type text/html;
set $memcached_key $uri;
memcached_pass localhost:11211;
}
}
}

after I setup a cache:
irb(main):002:0> require ‘memcached’
=> true
irb(main):003:0> c = Memcached.new(‘localhost:11211’)
#…
irb(main):006:0> c.set ‘/test’, ‘hello’

when I opened 127.0.0.1/test with safari 3.0 or Firefox 3, I got:
"hello

I get no idea where the Quotation mark coming from!!! Can anyone tell
me how to fix it?

The problem is solved.
By default marshal values are cached. Just cache raw content, there will
be no quotation mark.

Nanyang Z. wrote:

The problem is solved.
By default marshal values are cached. Just cache raw content, there will
be no quotation mark.

Hey Nanyang,

Could you explain in lamens terms what that means? I am running into
this issue and not sure why or how to fix it.

Travis B. wrote:

Nanyang Z. wrote:

The problem is solved.
By default marshal values are cached. Just cache raw content, there will
be no quotation mark.

Hey Nanyang,

Could you explain in lamens terms what that means? I am running into
this issue and not sure why or how to fix it.

Nevermind! The following set command is what anyone having this problem
is after (if you’re using memcached):

set (key, value, ttl=nil, marshal=true, flags=FLAGS)

Travis B. wrote:

Travis B. wrote:

Nanyang Z. wrote:

The problem is solved.
By default marshal values are cached. Just cache raw content, there will
be no quotation mark.

Hey Nanyang,

Could you explain in lamens terms what that means? I am running into
this issue and not sure why or how to fix it.

Nevermind! The following set command is what anyone having this problem
is after (if you’re using memcached):

Haha… oi, it’s getting late. marshal needs to be set to FALSE…

set (key, value, ttl=nil, marshal=false, flags=FLAGS)