I put the code shown below into the includes/modules/shipping/dhlairborne.php
somewhere around line 273. Pretty simple fix. Basically I had to change the information from 'GB' into "UK'. I tested it out for address from Scotland all the way to N Ireland and it works.
Here is the old code:
function _setDestination($street_address, $city, $state, $postal, $country) {
global $order;
$postal = str_replace(' ', '', $postal);
$state_query = tep_db_query("select zone_code from " . TABLE_ZONES . " where zone_name = '" . $state . "' and zone_country_id = '" . (int)$order->delivery['country']['id'] . "'");
$state_info = tep_db_fetch_array($state_query);
$this->destination_street_address = $street_address;
$this->destination_city = $city;
$this->destination_state = $state_info['zone_code'];
$this->destination_postal = substr($postal, 0, 5);
$this->destination_country = $country;
}
Here is what I changed it to:
function _setDestination($street_address, $city, $state, $postal, $country) {
global $order;
$postal = str_replace(' ', '', $postal);
$state_query = tep_db_query("select zone_code from " . TABLE_ZONES . " where zone_name = '" . $state . "' and zone_country_id = '" . (int)$order->delivery['country']['id'] . "'");
$state_info = tep_db_fetch_array($state_query);
$this->destination_street_address = $street_address;
$this->destination_city = $city;
$this->destination_state = $state_info['zone_code'];
$this->destination_postal = substr($postal, 0, 5);
if ($country == 'GB'){
$country = "UK";
}
$this->destination_country = $country;
}