I've seen you fixed a core bug #371495: Error message from drupal_http_request() not UTF8 encoded I found a long time ago, but never solved in core:

    // Convert error message to utf-8.
    $errstr = iconv('utf-8', 'utf-8//IGNORE', $errstr);

After more investigation I guess you should better use http://api.drupal.org/api/drupal/includes--unicode.inc/function/drupal_c... . This function shows that iconv() may not available and than it fallback to others.

Until now I'm using this logic in linkchecker:

  // @todo drupal_http_request() may not provide an UTF8 encoded error message
  // what results in a database UPDATE failure. For more information, see
  // http://drupal.org/node/371495.
  // Workaround: ISO-8859-1 as source encoding may be wrong, but WFM.
  if (!empty($response->error) && !drupal_validate_utf8($response->error)) {
    $response->error = drupal_convert_to_utf8($response->error, 'ISO-8859-1');


mikeytown2’s picture

Status:Active» Fixed
new717 bytes

And so begins the code split. httprl 7.x and 6.x will no longer be an almost exact copy. oh well.

Patch below has been committed to 7.x only.

hass’s picture

This is one, we can backport to D6 :-)

mikeytown2’s picture

have httprl define drupal_convert_to_utf8() if it doesn't exist? yeah that can be done; but things start to get messy when you do that in a lot of places.

hass’s picture

No... It's a core function - it always exist since D5... http://api.drupal.org/api/drupal/includes--unicode.inc/function/drupal_c...

mikeytown2’s picture

Version:7.x-1.x-dev» 6.x-1.x-dev
Status:Fixed» Needs review


mikeytown2’s picture

Status:Needs review» Fixed

patch applied to 6.x

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary:View changes

code filter is broken