WordPress.org

Make WordPress Core

Opened 7 years ago

Closed 5 years ago

#4330 closed defect (bug) (wontfix)

Make MagpieRSS use UTF-8 as default encoding

Reported by: nbachiyski Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: General Keywords: has-patch dev-feedback
Focuses: Cc:

Description

If not set explicitly, php xml functions will use the default encoding in php, which usually is latin1 and thus breaks (shows question marks) some rss feeds.

For more information: http://php.net/manual/en/ref.xml.php#xml.encoding


Attachments (2)

rss-encoding.diff (648 bytes) - added by nbachiyski 7 years ago.
4330.diff (648 bytes) - added by Denis-de-Bernardy 5 years ago.
reattaching patch

Download all attachments as: .zip

Change History (10)

nbachiyski7 years ago

comment:1 rob1n7 years ago

  • Owner changed from anonymous to rob1n

comment:2 rob1n7 years ago

  • Status changed from new to assigned

From http://us.php.net/manual/en/function.xml-parser-create.php:

If empty string is passed, the parser attempts to identify which encoding the document is encoded in by looking at the heading 3 or 4 bytes.

Maybe just pass an empty string?

comment:3 nbachiyski7 years ago

Empty string didn't work well.

Here is the test case I used:

on PHP 4.10 (Debian, CGI).

comment:4 rob1n7 years ago

  • Keywords has-patch added

comment:5 rob1n6 years ago

  • Owner rob1n deleted
  • Status changed from assigned to new

comment:6 Denis-de-Bernardy5 years ago

http://us.php.net/manual/en/function.xml-parser-create.php

"The optional encoding specifies the character encoding for the input/output in PHP 4. Starting from PHP 5, the input encoding is automatically detected, so that the encoding parameter specifies only the output encoding. In PHP 4, the default output encoding is the same as the input charset. If empty string is passed, the parser attempts to identify which encoding the document is encoded in by looking at the heading 3 or 4 bytes. In PHP 5.0.0 and 5.0.1, the default output charset is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported encodings are ISO-8859-1, UTF-8 and US-ASCII."

Imo, UTF-8 is the better default.

Denis-de-Bernardy5 years ago

reattaching patch

comment:7 Denis-de-Bernardy5 years ago

  • Keywords dev-feedback added
  • Milestone changed from 2.9 to 2.8

comment:8 ryan5 years ago

  • Milestone 2.8 deleted
  • Resolution set to wontfix
  • Status changed from new to closed

We now use SimplePie. see #9198

Note: See TracTickets for help on using tickets.